와드의 블로그

99클럽 코테 스터디 26일차 TIL 본문

TIL

99클럽 코테 스터디 26일차 TIL

Ward 2024. 11. 22. 16:48

비기너

문제

11004번: K번째 수

# 정렬

https://www.acmicpc.net/problem/11004

풀이

배열을 오름차순으로 정렬했을 때 k번째 수를 출력하는 문제이다.

배열을 정렬한뒤 k - 1번째 인덱스의 값을 출력하면 된다.

코드

import java.util.*;
import java.io.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		int k = Integer.parseInt(st.nextToken());
		int[] a = new int[n];
		st = new StringTokenizer(br.readLine());
		for (int i = 0; i < n; i++)
			a[i] = Integer.parseInt(st.nextToken());
		Arrays.sort(a);

		bw.write(a[k - 1] + "");
		bw.flush();
		bw.close();
	}
}

미들러

문제

9655번: 돌 게임

https://www.acmicpc.net/problem/9655

풀이

상근이와 창영이가 n개의 돌을 번갈아가면서 가져갈 때 마지막에 돌을 가져가는 사람을 구하는 문제이다.

돌은 1개 또는 3개만 가져갈 수 있으므로 먼저 시작하는 상근이는 항상 홀수 번째 돌을 가져갈 수 밖에 없고 짝수 번째 돌은 창영이가 가져간다.

따라서 n의 짝홀에 따라 정답이 결정된다.

코드

import java.util.*;
import java.io.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int n = Integer.parseInt(br.readLine());
		
		if (n % 2 == 1)
			bw.write("SK");
		else
			bw.write("CY");
		bw.flush();
		bw.close();
	}
}