본 글은 다크모드에 최적화되어 있습니다. 학기 중에는 해설 로직을 포함하지 않습니다. 문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 언어 자바 Java 해설 먼저 크로아티아 알파벳으로 변경할 문자열을 List에 저장합니다. static final List words = new ArrayList(); static void init() { words.add("c="); words.add("c-"); wo..
본 글은 다크모드에 최적화되어 있습니다. 문제 https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 언어 자바 Java 해설 선형대수학에서 배우는 행렬을 코드로 작성하면 되는 문제입니다. 위의 행렬을 계산하면 1행 결과로 [-1, -2, 6]이라는 결과를 얻게 됩니다. -1은 (1 * -1) + (2 * 0), -2는 (1 * -2) + (2 * 0), 그리고 6은 (1 * 0) + (2 * 3)을 통해 얻게 됩니다. 여기서 알 수..
본 글은 다크모드에 최적화되어 있습니다. 학기 중에는 해설 로직을 포함하지 않습니다. 문제 https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 언어 자바 Java 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { private static long[] muscleLos..
본 글은 다크모드에 최적화되어 있습니다. 학기 중에는 해설 로직을 포함하지 않습니다. 문제 https://www.acmicpc.net/problem/22858 22858번: 원상 복구 (small) $P_1, P_2, \cdots , P_N$의 수가 적혀 있는 $N$개의 카드가 있다. 1부터 N까지 수가 하나씩 존재하는 수열 $D_1, D_2, \cdots , D_i , \cdots , D_N$이 있다. 이때 각 $i$에 대해 $D_i$번째 카드를 $i$번째로 가져오는 www.acmicpc.net 언어 자바 Java 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public cla..
학기 중에는 해설 로직을 담지 않습니다. 문제 https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 언어 자바 Java 코드 (0,0)부터 시작하여 안쪽으로 돌아가도록 코드를 작성하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { private static final int[] dx = {0..