코딩테스트 연습

[백준] 15721 : 번데기 / JAVA, 브루트포스, 구현

콩콩(๓° ˘ °๓)♡ 2023. 7. 30. 16:03
public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int A = Integer.parseInt(br.readLine());
		int T = Integer.parseInt(br.readLine());
		int Call = Integer.parseInt(br.readLine());
		int TCnt=0;
		int what=0;
		int ansCnt=0;
		int loop = 2;
		while(true) {
			
			what=0;
			ansCnt++;
			if (what == Call)
				TCnt++;
			if (TCnt==T)
				break;
			
			what=1;
			ansCnt++;
			if (what == Call)
				TCnt++;
			if (TCnt==T)
				break;
			
			what=0;
			ansCnt++;
			if (what == Call)
				TCnt++;
			if (TCnt==T)
				break;
			
			what=1;
			ansCnt++;
			if (what == Call)
				TCnt++;
			if (TCnt==T)
				break;
			
			for(int i=0; i<loop; i++) {
				what = 0;
				ansCnt++;
				if (what == Call)
					TCnt++;
				if (TCnt==T)
					break; // 여기서 for문만 빠져나가고 while문은 빠져나가지 못하는 문제가 발생합니다.
			}
			
			for(int j=0; j<loop; j++) {
				what = 1;
				ansCnt++;
				if (what == Call)
					TCnt++;
				System.out.println(TCnt);
				if (TCnt==T)
					break; // 여기서 for문만 빠져나가고 while문은 빠져나가지 못하는 문제가 발생합니다.
			}
			loop++;
		}
		int answer=0;
		answer = ansCnt%A;
		if (answer==-1)
			System.out.println(A);
		else
			System.out.println(answer);
	} 
}
public static int solve() {
		while (true) {
			for (int i = 0; i < 4; i++) {
				if (i % 2 == 0) {
					zeroCount++;
				} else {
					oneCount++;
				}
				if (n == 0 && zeroCount == t) {
					return (zeroCount + oneCount - 1) % a; // return을 사용하여 for문을 빠져나가 호출된 곳으로 되돌아갑니다.
				}
				if (n == 1 && oneCount == t) {
					return (zeroCount + oneCount - 1) % a; // return을 사용하여 for문을 빠져나가 호출된 곳으로 되돌아갑니다.
				}
			}
			for (int i = 0; i < repeat; i++) {
				zeroCount++;
				if (zeroCount == t && n == 0) {
					return (zeroCount + oneCount - 1) % a; // return을 사용하여 for문을 빠져나가 호출된 곳으로 되돌아갑니다.
				}
			}
			for (int i = 0; i < repeat; i++) {
				oneCount++;
				if (oneCount == t && n == 1) {
					return (zeroCount + oneCount - 1) % a; // return을 사용하여 for문을 빠져나가 호출된 곳으로 되돌아갑니다.
				}
			}
			repeat++;
		}
	}

 

 

15721번: 번데기

예를 들어 7명이 있고, 16번째 등장하는 “뻔”을 부른 사람의 번호를 알고 싶다면 입력은 7 16 0이다. 4명이 있고 6번째 등장하는 “데기”를 부른 사람의 번호를 알고 싶다면 입력은 4 6 1이며, 이

www.acmicpc.net