๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 4335_์ˆซ์ž ๋งž์ถ”๊ธฐ

๋ฟŒ์•ผ._. 2025. 4. 29. 22:20
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/4335)

< ์ˆซ์ž ๋งž์ถ”๊ธฐ >

 

๋ฌธ์ œ ํ’€์ด 

 

์˜ฌ๋ฆฌ๊ฐ€ ์™ธ์นœ ์ˆ˜๊ฐ€ ํฐ์ง€, ์ž‘์€์ง€, ์ผ์น˜ํ•˜๋Š”์ง€ ํŒ๋ณ„ํ•œ ๊ฒƒ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฑฐ์ง“๋ง์„ ํ–ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

์˜ˆ์ œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

10
too high
3
too low
4
too high
2
right on
0

 

10๋ณด๋‹ค ์ž‘๊ณ , 3๋ณด๋‹ค ํฌ๊ณ , 4๋ณด๋‹ค ์ž‘๊ณ  = 3 < x < 4 

ํ•˜์ง€๋งŒ 2์ผ ๋•Œ ์ผ์น˜ํ•˜๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ ์Šคํƒ ์€ ๊ฑฐ์ง“๋ง์„ ํ•œ ์ ์ด ์žˆ๋‹ค.

 

my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class _4335_ { // ์ˆซ์ž ๋งž์ถ”๊ธฐ

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st;

		int n = 0, start = 0, end = 11;
		while ((n = Integer.parseInt(bf.readLine())) != 0) {
			st = new StringTokenizer(bf.readLine());

			String a = st.nextToken();
			String b = st.nextToken();

			if (b.equals("high")) {
				end = Math.min(end, n);
			} else if (b.equals("low")) {
				start = Math.max(start, n);
			} else {
				if (n > start && n < end) {
					bw.write("Stan may be honest\n");
				} else {
					bw.write("Stan is dishonest\n");
				}
				start = 0;
				end = 11;
			}
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
n : ์˜ฌ๋ฆฌ๊ฐ€ ์™ธ์นœ ์ˆ˜
start, end : ์ž‘์€ ๊ฐ’, ํฐ ๊ฐ’
a, b : ์Šคํƒ ์˜ ๋‹ต๋ณ€

 

0์ด ์•„๋‹ ๋•Œ๊นŒ์ง€ ์˜ฌ๋ฆฌ๊ฐ€ ์™ธ์นœ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

1) ์Šคํƒ ์˜ ๋‹ต๋ณ€ ์ž…๋ ฅ๋ฐ›๊ธฐ

2) ์Šคํƒ ์˜ ๋‹ต๋ณ€์ด too high๋ผ๋ฉด end ๊ฐ’ ์—…๋ฐ์ดํŠธ

3) ์Šคํƒ ์˜ ๋‹ต๋ณ€์ด too low๋ผ๋ฉด start ๊ฐ’ ์—…๋ฐ์ดํŠธ

4) ์Šคํƒ ์˜ ๋‹ต๋ณ€์ด right on์ด๋ผ๋ฉด start๋ณด๋‹ค ํฌ๊ณ  end๋ณด๋‹ค ์ž‘์€์ง€ ํ™•์ธํ•˜์—ฌ ์กฐ๊ฑด์— ๋งž๋‹ค๋ฉด "Stan may be honest" ์ถœ๋ ฅ, ์กฐ๊ฑด์— ๋งž์ง€ ์•Š๋‹ค๋ฉด "Stan is dishonest" ์ถœ๋ ฅ



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 11809_YODA  (1) 2025.05.01
[Baekjoon] 28464_Potato  (1) 2025.04.30
[Baekjoon] 11544_D as in Daedalus  (1) 2025.04.28
[Baekjoon] 5840_Breed Proximity  (1) 2025.04.25
[Baekjoon] 21221_Bold  (0) 2025.04.24