1.์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. (0 < A, B < 10)
์ ๋ ฅ์ ๋ง์ง๋ง์๋ 0 ๋ ๊ฐ๊ฐ ๋ค์ด์จ๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค A+B๋ฅผ ์ถ๋ ฅํ๋ค.
ํต์ฌ:x,y๋ฅผ ์ ํด๋๊ณ while๋ฌธ์ x์ y๊ฐ 0์ด๋๋ฉด while๋ฌธ์ด ๋ฉ์ถ๊ฒ ํ๋ค.
import Foundation
var x : Int?
var y : Int?
while x != 0 && y != 0 {
let line = readLine()!
let linearr = line.components(separatedBy: " ")
let a = Int(linearr[0])!
let b = Int(linearr[1])!
if a == 0 && b == 0{
x = 0
y = 0
} else{
print(a+b)
}
}
2.์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. (0 < A, B < 10)
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค A+B๋ฅผ ์ถ๋ ฅํ๋ค.
ํต์ฌ: ๋ EOF์๋? ๋ฌดํ๋ฃจํ๋๋ฉด ์ด๋ป๊ฒ ๋ฉ์ถ๋? ์์ธ๋ก ๊ฐ๋จํ๋ค. readLine()์์ฒด๋ฅผ true์ธ์ง false์ธ์ง ํ๋จํ๋ฉด ๋๋ค. EOF๋ End Of File์ ์ฝ์๋ก ๋์ ๋๋ฌํ์ ๋๋ ๋๋ผ ์ ์์ด์ผํ๋ค.
import Foundation
while let line = readLine() {
let linearr = line.components(separatedBy: " ")
let a = Int(linearr[0])!
let b = Int(linearr[1])!
print(a+b)
}
3.0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 99๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง ๋ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ํ ์ ์๋ค. ๋จผ์ ์ฃผ์ด์ง ์๊ฐ 10๋ณด๋ค ์๋ค๋ฉด ์์ 0์ ๋ถ์ฌ ๋ ์๋ฆฌ ์๋ก ๋ง๋ค๊ณ , ๊ฐ ์๋ฆฌ์ ์ซ์๋ฅผ ๋ํ๋ค. ๊ทธ ๋ค์, ์ฃผ์ด์ง ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ฆฌ ์์ ์์์ ๊ตฌํ ํฉ์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ฆฌ ์๋ฅผ ์ด์ด ๋ถ์ด๋ฉด ์๋ก์ด ์๋ฅผ ๋ง๋ค ์ ์๋ค. ๋ค์ ์๋ฅผ ๋ณด์.
26๋ถํฐ ์์ํ๋ค. 2+6 = 8์ด๋ค. ์๋ก์ด ์๋ 68์ด๋ค. 6+8 = 14์ด๋ค. ์๋ก์ด ์๋ 84์ด๋ค. 8+4 = 12์ด๋ค. ์๋ก์ด ์๋ 42์ด๋ค. 4+2 = 6์ด๋ค. ์๋ก์ด ์๋ 26์ด๋ค.
์์ ์๋ 4๋ฒ๋ง์ ์๋ ์๋ก ๋์์ฌ ์ ์๋ค. ๋ฐ๋ผ์ 26์ ์ฌ์ดํด์ ๊ธธ์ด๋ 4์ด๋ค.
N์ด ์ฃผ์ด์ก์ ๋, N์ ์ฌ์ดํด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 99๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ฒซ์งธ ์ค์ N์ ์ฌ์ดํด ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
ํต์ฌ: 1.๋์๋ฆฌ ์์์ 1์ ์๋ฆฌ ์์ 10์์๋ฆฌ ์ ๋ฐ๋ก ๋ถ๋ฆฌํ๊ธฐ - /์ %์ด์ฉ
2.๋ฐ๋ณต ํ๋ค๊ฐ ์
๋ ฅ์ด ์ฒ์ ๋์๋ฆฌ ์๋ผ๋ฉด ์
๋ ฅ ๋ฉ์ถ๊ธฐ ,๋งจ ์ฒ์ ์๋ ์ด๋ป๊ฒ ๊ธฐ์ตํ๋๊ฐ? - linea์ lineb๋ฅผ ๋ง๋ค์ด 10์์๋ฆฌ์ 1์ ์๋ฆฌ๋ฅผ ๋ฐ๋ก ๊ธฐ์ตํด๋ .
3.count๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด๋๊ณ ์ฌ์ดํด๋ง๋ค +1์ด ๋๊ฒ ํด์ค๋ค. ๋์ -1์ ํด์ฃผ๋ ์ด์ ๋ ๋ง์ง๋ง์ ์ฒ์๊ณผ ๋๊ฐ์ ์๊ฐ ๋์ค๋๋ผ๋ ํ๋ฒ ๋ํ๊ณ ๋๋๊ธฐ ๋๋ฌธ์ count๊ฐ ์ฌ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ ์ข์ ์ฝ๋๋ผ๋ฉด ์ด๊ฑธ ์์ ์ผํ๋๋ฐ ๊ท์ฐฎ๋ค,
import Foundation
let line = Int(readLine()!)!
var count = 0
var plus : Int?
var linea : Int?
var lineb : Int?
var a : Int?
var b : Int?
while true{
linea = line/10
lineb = line%10
if count == 0 {
a = linea
b = lineb
plus = a!+b!
count += 1
} else{
a = b
b = plus!%10
plus = a!+b!
count += 1
}
if a == linea && b == lineb && count != 1 {
print(count-1)
break
}
}
'๐ Problem Solution' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] 2021 KAKAO BLIND RECRUITMENT ์นด๋ ์ง ๋ง์ถ๊ธฐ (1) | 2021.04.27 |
---|---|
[Swift] 2021 KAKAO BLIND RECRUITMENT ๊ด๊ณ ์ฝ์ (0) | 2021.04.11 |
๋ฐฑ์คํ๋ก๊ทธ๋๋ฐ for๋ฌธ 10๋ฒ,11๋ฒ Swift (0) | 2020.01.29 |
๋ฐฑ์ค ํ๋ก๊ทธ๋๋ฐ for๋ฌธ 4,5,6,7๋ฒ Swift (0) | 2020.01.21 |
๋ฐฑ์คํ๋ก๊ทธ๋๋ฐ for ๋ฌธ 1,2,3๋ฒ Swift (0) | 2020.01.20 |
๋๊ธ