BAEKJOON(62)
-
[Baekjoon] 1074번: Z
https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 문제 설명 크기가 2^N x 2^N인 2차원 배열을 Z 모양으로 탐색한다. 예를 들어 2x2 배열이면 (0, 0) -> (0, 1) -> (1, 0) -> (1, 1) 순서대로 탐색하면 Z 모양이 된다. N이 주어졌을 때 r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성해야 한다. 풀이 방법 이 문제는 재귀를 활용하여 해결할 수 있다. N = 3, r = 6, c = 5 인 경우..
2023.03.22 -
[Baekjoon] 18870번: 좌표 압축
https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 문제 설명 이런 문제는 처음 접해봐서 문제 이해부터 못하고 검색해보았다. 알고 보니 좌표 압축이라는 알고리즘이 있는 게 아니라 하나의 카테고리였다. 다음 글이 필자가 참고한 글이다. https://st-lab.tistory.com/279 [백준] 18870번 : 좌표 압축 - JAVA [자바] https://www.acmicpc.net/proble..
2023.03.21 -
[Baekjoon] 1389번: 케빈 베이컨의 6단계 법칙
https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 문제 설명 케빈 베이컨의 수가 가장 작은 사람을 구하면 된다. 케빈 베이컨은 다른 사람을 알기 위해 걸치는 다리 수를 말한다. 예를 들면 다음과 같다. A, B, C, D, E가 있고 A와 C, A와 D, B와 C, C와 D, D와 E가 친구인 경우를 생각해보자. 발그림 죄송합니다 A의 케빈 베이컨을 구하면 다음과 같다. B를 알기 위해 C를 거쳐야..
2023.03.21 -
[Baekjoon] 2108번: 통계학
https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제 설명 정수 N개가 주어진다. 이 숫자들에 대해 통계값을 출력해야 한다(단, N은 홀수이며 N의 절댓값은 절대 4000을 넘지 않는다). 산술 평균: N개의 수들의 합을 N으로 나눈 값 중앙값: N개의 수들을 오름차순으로 정렬했을 경우 그 중앙에 위치하는 값 최빈값: N개의 수들 중 가장 많이 나타나는 값 범위: N개의 수들 중 최댓값과 최솟값의 차이 출력 형식은 다음과 같다. 첫째 줄에는 산술 평균을 출력..
2023.03.20 -
[Baekjoon] 2309번: 일곱 난쟁이
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 설명 아홉 명의 난쟁이들 중 스파이 난쟁이 2명이 숨어있다. 진짜 일곱 난쟁이들의 키의 합은 100이다. 아홉 난쟁이들 중 진짜 일곱 난쟁이들만 찾아내 그 키를 출력한다. 풀이 방법 1. 7중 반복문 제일 단순무식한 방법이다. 반복문을 이렇게 극단적으로 많이 써본 것도 처음이다. import java.io.*; import java.util.Arrays; class Main { final static..
2023.03.18 -
[Baekjoon] 9935번: 문자열 폭발
https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문제 설명 먼저 문자열 한 줄이 주어진다. 그 다음 폭발 키워드 문자열이 주어진다. 만약 문자열에 폭발 키워드 문자열이 있으면 해당 문자열이 폭발하고 앞 뒤 문자열은 합쳐진다. 이때 폭발이 모두 끝난 후 남은 문자열을 출력하면 된다. 만약 남은 문자열이 없는 경우, 즉 모든 문자열이 폭발한 경우 FRULA를 출력한다. 스택이나 StringBuilder를 활용하면 효율적으로 해결할 수..
2023.03.17