본문 바로가기

Coding Test5

[C/C++] 정올 - 파스칼 삼각형 #2071 문제 파스칼 삼각형이란? 아래 과 같이 자신의 왼쪽 위의 좌표와 오른쪽 위의 좌표 값을 더해서 값을 계속 갱신해 나가는 형태의 삼각형을 말한다. 아래와 같은 파스칼 삼각형의 높이 n과 종류 m을 입력 받은 후 다음과 같은 형태의 파스칼 삼각형을 출력하는 프로그램을 작성하시오. 풀이 종류 3가지가 주어지는데, 종류 1이 종류2와 3을 풀기위한 힌트라고 본다. 먼저 n*n 의 2차원 배열을 만들고 종류 1의 파스칼 삼각형을 쉽게 만든 다음. 종류 2와 종류 3은 종류1에 기반하여 출력만 해주면 되는 것이다. (출력시에 요소의 값이 0인경우 공백을 출력한다) int arr[n][n]; memset(arr, 0 ,n*n*sizeof(int)); for ( int i = 0; i < n; i++){ arr[i][.. 2024. 4. 24.
[C/C++] 정올 - 별삼각형 #1523 #1719 #1329 문제 삼각형의 높이 n과 종류 m을 입력 받은 후 다음과 같은 삼각형 형태로 출력하는 프로그램을 작성하시오. 풀이 기본적으로 모두 푸는 방법은 동일한데, 행렬을 만들어서 별을 집어넣을 필요는 없다. 빈 공간은 모두 공백을 출력함으로써 해결 가능하기 때문이다. for 루프시에는 행렬처럼 0부터 시작시키는게 아니라, 1부터 시작을 시키는게 생각이 편하다. for ( int i = 1; i 2024. 4. 23.
[C/C++] 정올 - 달팽이 트리 #5398 문제 달팽이의 나라 달팽국에서는 크리스마스 때 특별한 트리를 세워 장식한다. 이 트리를 달팽국 사람들은 달팽이 트리라고 부르는데, 달팽이 트리는 꼭대기부터 0~9까지의 정수가 반시계 방향으로 밖에서 안으로 채워진 형태를 띄고 있다. 달팽이 트리의 크기는 매 해 달팽국의 행복도에 비례하여 다르게 정해진다. 예를 들어 아래와 같이 행복도가 6이면 크기 6짜리 달팽이 트리가 만들어진다. 달팽이 삼각형 문제와 똑같이 풀면 된다. https://microelectronics.tistory.com/52 int m = n; int x = -1; int y = 0; int num = 0; while ( m > 0 ){ for ( int i = 1; i 2024. 4. 17.
[C/C++] 정올 - 달팽이 삼각형 #1337 문제 삼각형의 높이 N을 입력받아서 아래와 같이 숫자 0부터 달팽이 모양으로 차례대로 채워진 삼각형을 출력하는 프로그램을 작성하시오. 왼쪽 위부터 시계방향으로 오른쪽 아래로 이동하면서 숫자 0부터 N개를 채우고 다시 왼쪽으로, 다음은 위쪽으로 반복하면서 채워 나간다. (숫자 9 다음에는 0부터 다시 시작한다.) 2차원 배열에서, 삼각형 모양으로 출력되야 하므로 배열 전체를 사용하지 않는 값(예를들어 -1) 로 채운다. 이때 가변길이배열은 런타임 초기화가 불가능하므로, cstring 헤더의 memset 함수를 활용한다. int arr[n][n]; memset(arr,-1,sizeof(int)*n*n); int m = n; int x = -1; int y = -1; int num.. 2024. 4. 17.
[C/C++] 정올 - 달팽이 사각형 #1707 문제 정사각형의 크기를 입력 받은 후 시계 방향으로 돌면서 다음과 같은 형태로 출력하는 프로그램을 작성하시오. (1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입 시킨다. (2) 오른쪽으로 채워 나가다가 끝이면 다시 아래 → 왼쪽 → 위 →오른쪽의 순으로 모두 채워질 때까지 반복한다. 배열에 원소를 넣을때 마다, cnt 값을 올린다. cnt 값이 n*n 이하일때까지 while 문을 돌린다. while 문 내에 for 문이 4 개 포함되어있지만, 루프에 문제가 생기지는 않는다. for 문이 반복되는 조건은 m 이 1이상일 때이기 때문이다. n*n 값이 채워지는 경우 m은 0이 되므로 for문은 돌지 않고 정상적으로 의도한 만큼 while 문은 돌고 종료된다. int arr[n].. 2024. 4. 17.