나무조각 문제는 버블 정렬을 통해 풀었다.
달팽이는 올라가고 싶다 문제는 해설을 참고하여 풀었다.
카드 구매하기 문제는 풀지 못하였다.
[1차 목표] 나무조각
▼소스코드import java.util.*; public class wood_2947 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int arr[] = new int[5]; for (int i = 0; i < 5; i++) { arr[i] = sc.nextInt(); } for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length-1; j++) { if (arr[j] > arr[j+1]) { int tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; for (int k = 0; k < arr.length; k++) { System.out.printf("%d ", arr[k]); } System.out.println(); } } } } }
[2차 목표] 달팽이는 올라가고 싶다
▼소스코드import java.io.*; import java.math.*; public class snail_2869 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String line = br.readLine(); int d = Integer.parseInt(line.split(" ")[0]); int n = Integer.parseInt(line.split(" ")[1]); int v = Integer.parseInt(line.split(" ")[2]); int day = (v - n) / (d - n); day = ((v - n) % (d - n) != 0) ? day+1 : day; bw.write(String.valueOf(day)); bw.flush(); bw.close(); } }
나무조각 문제는 1학기 컴퓨터 프로그래밍1 수업에서 배웠던 버블 정렬을 통해 어렵지 않게 풀 수 있었다.
달팽이는 올라가고 싶다 문제는 반복문을 통해 풀었으나, 0.15초라는 제한 시간이 정해져 있었기에 해설을 참고해 Scanner대신 BufferedReader로, println대신 BufferedWriter로, 반복문 대신 수식으로 바꿔서 해결하였다.
카드 구매하기 문제는 위의 달팽이 문제에서 시간을 너무 많이 사용하기도 했고, 평소에 풀던 문제들보다 난이도가 높아 풀지 못하였다. 실력이 상승했다고 느낄 때 다시 풀어보아야겠다고 생각했다.