본문 바로가기

PS/Baekjoon Online Judge621

[백준 18111] 마인크래프트 [C] 풀이 256 ~ 0까지 모든 높이의 평지를 만들어보며 최단 시간을 구하는 문제이다. 동일한 층의 개수를 배열로 입력받았고, 가장 높은 층을 구했다. 최단시간이 동일하다면, 높이가 가장 높은 것을 출력해야 하기 때문에 256부터 0으로 내려가면서 탐색했다. (만약 시간이 동일하다면 높은 층의 기록이 유지되므로) 최대 시간(result)은 다음과 같다. 땅의 크기(500 x 500) x 설치(2) x 최대높이(256) = 128,000,000 소스코드 #include int main(){ int N, M, B, arr[257] = {0, }, temp, max = 0; scanf("%d %d %d", &N, &M, &B); for (int i = 0; i < N*M; i++){ scanf("%d", &tem.. 2021. 7. 31.
[백준 10773] 제로 [C] 풀이 0을 입력받으면 pop, 아니면 push이다. 연산 효율을 위해 일단 입력받고 0이면 top를 -2만큼 감소시켰다. 소스코드 #include int main(){ int K; scanf("%d", &K); int stack[K], top = -1, sum = 0; for (int i = 0; i < K; i++){ scanf("%d", &stack[++top]); if (!stack[top]) top -= 2; } for (int i = 0; i 2021. 7. 31.
[백준 10992] 별 찍기 - 17 [C] 풀이 "백준 10990, 별 찍기 - 15"문제에 i == N - 1 일때 별만 찍는 조건만 추가해주면 된다. 소스코드 #include int main(){ int N; scanf("%d", &N); for (int i = 0; i < N; i++){ for (int j = 1; j 2021. 7. 31.
[백준 10991] 별 찍기 - 16 [C] 풀이 별이 한번 찍히기 시작하면 적절한 개수만큼 별 - 공백 - 별 - 공백 -... 가 반복되는 점을 이용해 풀이했다. 소스코드 #include int main(){ int N; scanf("%d", &N); for (int i = 0; i < N; i++){ for (int j = 1; j = N-i ? '*' : 32); putchar(10); } } 출처 10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 2021. 7. 31.
[백준 10990] 별 찍기 - 15 [C] 소스코드 #include int main(){ int N; scanf("%d", &N); for (int i = 0; i < N; i++){ for (int j = 1; j 2021. 7. 31.
[백준 2523] 별 찍기 - 13 [C] 풀이 이전의 별찍기에서는 abs()를 사용할 때, math.h를 사용했지만, 이번 문제에서는 컴파일 에러가 뜬다. stdlib.h를 사용해주자 소스코드 #include #include int main() { int N; scanf("%d", &N); for (int i = -N + 1; i < N; i++){ for (int j = abs(i); j < N; j++) putchar('*'); putchar(10); } } 출처 2523번: 별 찍기 - 13 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 2021. 7. 31.