๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

BaekJoon6

[Swift] Baekjoon ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐœ์Œํ•˜๊ธฐ 4569๋ฒˆ Problem 4659๋ฒˆ: ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐœ์Œํ•˜๊ธฐ ์ข‹์€ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋งŒ๋“œ๋Š”๊ฒƒ์€ ์–ด๋ ค์šด ์ผ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋“ค์€ buddy์ฒ˜๋Ÿผ ๋ฐœ์Œํ•˜๊ธฐ ์ข‹๊ณ  ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ํŒจ์Šค์›Œ๋“œ๋ฅผ ์›ํ•˜๋‚˜, ์ด๋Ÿฐ ํŒจ์Šค์›Œ๋“œ๋“ค์€ ๋ณด์•ˆ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์–ด๋–ค ์‚ฌ์ดํŠธ๋“ค์€ xvtp www.acmicpc.net Solution 1. ๋ชจ์Œ์ธ์ง€ ์ž์Œ์ธ์ง€ ํ™•์ธํ•œ๋‹ค. ๋‹จ์–ด์˜ ์ฒ ์ž๋ฅผ map์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋ชจ์Œ์„ ๋”ฐ๋กœ ๋ชจ์€ vowels ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ํ•˜๋‚˜ ํ•˜๋‚˜ ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์ธ ๋ชจ์Œ์ด ํฌํ•จ๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•ด ์ค๋‹ˆ๋‹ค. 2. ์ž์Œ์ด๋‚˜ ๋ชจ์Œ์ด 3๊ฐœ ์ด์ƒ ์—ฐ์†๋˜๋Š”์ง€ ํ™”์ธํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด์ธ ๋ชจ์Œ์ด๋‚˜ ์ž์Œ์ด ์—ฐ์† 3๊ฐœ ์ด์ƒ์ด ์˜ค๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด consonantCount (์ž์Œ ๊ฐฏ์ˆ˜), vowelCount(๋ชจ์Œ ๊ฐฏ์ˆ˜) ๋ณ€์ˆ˜๋“ค์„ ๋งŒ๋“ค์–ด ์นด์šดํŒ… ํ•ด์ค๋‹ˆ๋‹ค. 3. ๋ฌธ.. 2022. 1. 31.
[Swift] Baekjoon ๋‚˜์ด์ˆœ ์ •๋ ฌ 10814๋ฒˆ Problem 10814๋ฒˆ: ๋‚˜์ด์ˆœ ์ •๋ ฌ ์˜จ๋ผ์ธ ์ €์ง€์— ๊ฐ€์ž…ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๋‚˜์ด์™€ ์ด๋ฆ„์ด ๊ฐ€์ž…ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ํšŒ์›๋“ค์„ ๋‚˜์ด๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์œผ๋กœ, ๋‚˜์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ๋จผ์ € ๊ฐ€์ž…ํ•œ ์‚ฌ๋žŒ์ด ์•ž์— ์˜ค๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ www.acmicpc.net Solution 1. ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด ์œ ์ € ์ •๋ณด๋ฅผ ๋„ฃ๋Š”๋‹ค. key๊ฐ’์œผ๋กœ ๋‚˜์ด๋ฅผ,value๊ฐ’์œผ๋กœ ์ด๋ฆ„์„ ๋„ฃ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋”•์…”๋„ˆ๋ฆฌ์— key๊ฐ’์ด ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด value์— ์ถ”๊ฐ€๋กœ append ํ•ด์ค๋‹ˆ๋‹ค. var userDic:[Int:[String]] = [:] let numberOfUser = Int(readLine()!)! for _ in 0.. 2022. 1. 30.
[Swift] Baekjoon 12919๋ฒˆ A์™€ B 2 Problem 12919๋ฒˆ: A์™€ B 2 ์ˆ˜๋นˆ์ด๋Š” A์™€ B๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์˜์–ด ๋‹จ์–ด ์กด์žฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ๋†€๋ž๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ AB (Abdominal์˜ ์•ฝ์ž), BAA (์–‘์˜ ์šธ์Œ ์†Œ๋ฆฌ), AA (์šฉ์•”์˜ ์ข…๋ฅ˜), ABBA (์Šค์›จ๋ด ํŒ ๊ทธ๋ฃน)์ด ์žˆ๋‹ค. ์ด๋Ÿฐ ์‚ฌ์‹ค์— ๋†€๋ž€ ์ˆ˜๋นˆ www.acmicpc.net Solution A์™€ B๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์ด 4๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. 1. A๋กœ ์‹œ์ž‘ํ•ด์„œ A๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ ์ด ๊ฒฝ์šฐ S์— A๋ฅผ ์ถ”๊ฐ€ํ–ˆ์„ ๊ฒฝ์šฐ์—๋งŒ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ A๋ฅผ ์‚ญ์ œํ•ด์ค๋‹ˆ๋‹ค. 2. A๋กœ ์‹œ์ž‘ํ•ด์„œ B๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ ์ด ๊ฒฝ์šฐ๋Š” S์— ์–ด๋– ํ•œ ๊ฒฝ์šฐ๋„ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 3. B๋กœ ์‹œ์ž‘ํ•ด์„œ A๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ ์ด ๊ฒฝ์šฐ B๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋’ค์ง‘์€ ๊ฒฝ์šฐ์ด๊ฑฐ๋‚˜ ๋‹จ์ง€ A๋ฅผ ์ถ”๊ฐ€ ํ–ˆ์„ ๊ฒฝ์šฐ๊ฐ€ ๋ชจ๋‘ ๊ฐ€๋Šฅ ํ•˜๋ฏ€.. 2022. 1. 7.
[Swift] Baekjoon ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ 1254๋ฒˆ Problem 1254๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ ๋™ํ˜ธ์™€ ๊ทœ์™„์ด๋Š” 212ํ˜ธ์—์„œ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทœ์™„์ด๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ์„ ์—„์ฒญ๋‚˜๊ฒŒ ์ข‹์•„ํ•œ๋‹ค. ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ž€ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๊ฐ™๊ฒŒ ์ฝํžˆ๋Š” ๋ฌธ์ž์—ด์„ ๋งํ•œ๋‹ค. ๋™ํ˜ธ๋Š” www.acmicpc.net Solution 1. ์ฃผ์–ด์ง„ ๋ฌธ์ž๋ฅผ ๋’ค์ง‘์–ด์„œ ๋’ค์— ๋ถ™์ธ๋‹ค. var str = readLine()! var newStr = (str + str.reversed()).map{String($0)} 2. ๋’ค์— ๋ถ™์ธ ๊ณณ์„ ์‹œ์ž‘์ ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ž๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ์‚ญ์ œํ•œ๋‹ค. while newStr.count >= str.count { if isPalindrome(newStr) { min = newStr.count } if newStr.count == str.count .. 2022. 1. 6.
[Swift] Baekjoon ์ตœ๋Œ“๊ฐ’ 2562๋ฒˆ Problem 2562๋ฒˆ: ์ตœ๋Œ“๊ฐ’ 9๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ด๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๊ณ  ๊ทธ ์ตœ๋Œ“๊ฐ’์ด ๋ช‡ ๋ฒˆ์งธ ์ˆ˜์ธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ๋กœ ๋‹ค๋ฅธ 9๊ฐœ์˜ ์ž์—ฐ์ˆ˜ 3, 29, 38, 12, 57, 74, 40, 85, 61 ์ด ์ฃผ์–ด www.acmicpc.net Solution 1. ์ˆซ์ž๋ฅผ ์ž…๋ ฅ ๋ฐ›์œผ๋ฉฐ ์ตœ๋Œ“๊ฐ’์„ ๊ฐฑ์‹ ํ•œ๋‹ค. var count:Int = 0 var max = (0,0) while count < 9 { let n = Int(readLine() ?? "") ?? 0 count += 1 if max.1 < n { max = (count,n) } } 2. ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์ด ๋ช‡ ๋ฒˆ์งธ์ธ์ง€ ์ถœ๋ ฅํ•œ๋‹ค. print(max.1) print(max.0) Source Code 2022. 1. 6.
[Swift] Baekjoon ํฐ ์ˆ˜ A + B 10757๋ฒˆ Problem 10757๋ฒˆ: ํฐ ์ˆ˜ A+B ๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net Solution 1. ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. let line = readLine() ?? "" let lineArr = line.split(separator: " ").map{String($0)} 2. ๋‘ ๋ฌธ์ž๋ฅผ Array๋กœ ๋งŒ๋“ค๊ณ  ๋’ค์ง‘์–ด์ค€๋‹ค. var A = Array(lineArr[0].map{String($0)}.reversed()) var B = Array(lineArr[1].map{String($0)}.reversed()) 3. ๋” ๊ธด ๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด ๋’ค์— ์ฐจ์ด๋งŒํผ 0์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. var isALong = A.count > B.coun.. 2022. 1. 6.
728x90
๋ฐ˜์‘ํ˜•