๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š Algorithm/Baekjoon

(33)
Baekjoon ๋ฐฑ์ค€ 1181 ๋‹จ์–ด ์ •๋ ฌ ๋ฌธ์ œํ’€์ด 1181 ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ N๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๊ธธ์ด๊ฐ€ ์งง์€ ๊ฒƒ๋ถ€ํ„ฐ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๋‹จ, ์ค‘๋ณต๋œ ๋‹จ์–ด๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜์—ฌ ๋‹จ์–ด๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด N = int(input()) word_list = [] for i in range(N) : word_list.append(input()) set_word_list = set(word_list) word_list = list(set_..
Baekjoon ๋ฐฑ์ค€ 1159 ๋†๊ตฌ ๊ฒฝ๊ธฐ ๋ฌธ์ œํ’€์ด 1159 ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ๋†๊ตฌ์˜ ์„ธ๊ณ„์—์„œ ์ ์ฐจ ์˜ํ–ฅ๋ ฅ์„ ๋„“ํ˜€๊ฐ€๊ณ  ์žˆ๋‹ค. ์ฒ˜์Œ์— ๊ทธ๋Š” ๋†๊ตฌ ๊ฒฝ๊ธฐ๋ฅผ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์ด์—ˆ๋‹ค. ๋†๊ตฌ์— ๋Œ€ํ•œ ์—ด์ •์€ ๊ทธ๋ฅผ ๋ง‰์„ ์ˆ˜ ์—†์—ˆ๊ณ , ๊ฒฐ๊ตญ ์ƒ๊ทผ์ด๋Š” ๋†๊ตฌ์žฅ์„ ์ฒญ์†Œํ•˜๋Š” ์ผ์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ƒ๊ทผ์ด๋„ ๋†๊ตฌ์žฅ์„ ์ฒญ์†Œํ•˜๋ฉด์„œ ๊ฐ๋…์ด ๋˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ ธ์•ผํ•  ๋Šฅ๋ ฅ์„ ๊ณต๋ถ€ํ•ด๋‚˜๊ฐ”๋‹ค. ์„œ๋‹น๊ฐœ 3๋…„์ด๋ฉด ํ’์›”์„ ์Š๋“ฏ์ด ์ƒ๊ทผ์ด๋Š” ์ ์  ๊ฐ๋…์œผ๋กœ ํ•œ ๊ฑธ์Œ ๋‹ค๊ฐ€๊ฐ€๊ณ  ์žˆ์—ˆ๋‹ค. ์–ด๋Š ๋‚  ๊ทธ์—๊ฒŒ ์ง€๋ฐฉ์˜ ํ•œ ํ”„๋กœ๋†๊ตฌํŒ€์„ ๊ฐ๋…ํ•  ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋Š” ์—„์ฒญ๋‚œ ์ง€๋„๋ ฅ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ ํ”„๋กœ ๋ฆฌ๊ทธ์—์„œ ์šฐ์Šน์„ ํ–ˆ๊ณ , ์ด์ œ ๊ตญ๊ฐ€๋Œ€ํ‘œํŒ€์˜ ๊ฐ๋…์ด ๋˜์—ˆ๋‹ค. ๋‚ด์ผ์€ ์ผ๋ณธ๊ณผ ๊ตญ๊ฐ€๋Œ€ํ‘œ ์นœ์„  ๊ฒฝ๊ธฐ๊ฐ€ ์žˆ๋Š” ๋‚ ์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ๋‚ด์ผ ๊ฒฝ๊ธฐ์— ๋‚˜์„ค ์„ ๋ฐœ ๋ช…๋‹จ์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๊ตญ๊ฐ€๋Œ€ํ‘œํŒ€์˜ ๊ฐ๋…์ด ๋œ ์ดํ›„์— ์ƒ๊ทผ์ด๋Š” ๋งค์šฐ ๊ฒŒ์„๋Ÿฌ์กŒ๋‹ค. ๊ทธ๋Š” ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ๊ธฐ..
Baekjoon ๋ฐฑ์ค€ 1157 ๋‹จ์–ด ๊ณต๋ถ€ ๋ฌธ์ œํ’€์ด 1157 ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 1,000,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์„ ๋Œ€๋ฌธ์ž๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹จ, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ?๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด word = input().lower() word_list = list(set(word)) cnt = [] for i in word_list : count = word.count(i) cnt.append(count) if cnt.count(max(cnt)) >= ..
Baekjoon ๋ฐฑ์ค€ 1152 ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œํ’€์ด 1152 ๋ฌธ์ œ ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž์™€ ๊ณต๋ฐฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์—๋Š” ๋ช‡ ๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ์žˆ์„๊นŒ? ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ํ•œ ๋‹จ์–ด๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ฑ์žฅํ•˜๋ฉด ๋“ฑ์žฅํ•œ ํšŸ์ˆ˜๋งŒํผ ๋ชจ๋‘ ์„ธ์–ด์•ผ ํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ ์ค„์— ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž์™€ ๊ณต๋ฐฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1,000,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‹จ์–ด๋Š” ๊ณต๋ฐฑ ํ•œ ๊ฐœ๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ, ๊ณต๋ฐฑ์ด ์—ฐ์†ํ•ด์„œ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค. ๋˜ํ•œ ๋ฌธ์ž์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋๋‚  ์ˆ˜ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด word = input().split() print(len(word))
Baekjoon ๋ฐฑ์ค€ 1100 ํ•˜์–€ ์นธ ๋ฌธ์ œํ’€์ด 1100 ๋ฌธ์ œ ์ฒด์ŠคํŒ์€ 8×8ํฌ๊ธฐ์ด๊ณ , ๊ฒ€์ • ์นธ๊ณผ ํ•˜์–€ ์นธ์ด ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ์ƒ‰์น ๋˜์–ด ์žˆ๋‹ค. ๊ฐ€์žฅ ์™ผ์ชฝ ์œ„์นธ (0,0)์€ ํ•˜์–€์ƒ‰์ด๋‹ค. ์ฒด์ŠคํŒ์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•˜์–€ ์นธ ์œ„์— ๋ง์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ 8๊ฐœ์˜ ์ค„์— ์ฒด์ŠคํŒ์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ‘.’์€ ๋นˆ ์นธ์ด๊ณ , ‘F’๋Š” ์œ„์— ๋ง์ด ์žˆ๋Š” ์นธ์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด chess = [input() for _ in range(8)] cnt = 0 for y in range(8): for x in range(8): if y%2 == x%2 and chess[y][x] == 'F': cnt += 1 print(cnt)
Baekjoon ๋ฐฑ์ค€ 1037 ์•ฝ์ˆ˜ ๋ฌธ์ œํ’€์ด 1037 ๋ฌธ์ œ ์–‘์ˆ˜ A๊ฐ€ N์˜ ์ง„์งœ ์•ฝ์ˆ˜๊ฐ€ ๋˜๋ ค๋ฉด, N์ด A์˜ ๋ฐฐ์ˆ˜์ด๊ณ , A๊ฐ€ 1๊ณผ N์ด ์•„๋‹ˆ์–ด์•ผ ํ•œ๋‹ค. ์–ด๋–ค ์ˆ˜ N์˜ ์ง„์งœ ์•ฝ์ˆ˜๊ฐ€ ๋ชจ๋‘ ์ฃผ์–ด์งˆ ๋•Œ, N์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์˜ ์ง„์งœ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐœ์ˆ˜๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N์˜ ์ง„์งœ ์•ฝ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 2๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— N์„ ์ถœ๋ ฅํ•œ๋‹ค. N์€ ํ•ญ์ƒ 32๋น„ํŠธ ๋ถ€ํ˜ธ์žˆ๋Š” ์ •์ˆ˜๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ’€์ด N = int(input()) A_list = [] A_list = list(map(int, input().split())) if N == 1 : res = A_list[0] * A_list[0] else : A..

728x90