๋ฌธ์ ์ค๋ช
๋ค์์ด๋ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด S๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ค์์ด๋ ์ด ๋ฌธ์์ด S์ ์๋ ๋ชจ๋ ์ซ์๋ฅผ ์ ๋ถ ๊ฐ๊ฒ ๋ง๋ค๋ ค๊ณ ํ๋ค. ๋ค์์ด๊ฐ ํ ์ ์๋ ํ๋์ S์์ ์ฐ์๋ ํ๋ ์ด์์ ์ซ์๋ฅผ ์ก๊ณ ๋ชจ๋ ๋ค์ง๋ ๊ฒ์ด๋ค. ๋ค์ง๋ ๊ฒ์ 1์ 0์ผ๋ก, 0์ 1๋ก ๋ฐ๊พธ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์๋ฅผ ๋ค์ด S=0001100 ์ผ ๋,
- ์ ์ฒด๋ฅผ ๋ค์ง์ผ๋ฉด 1110011์ด ๋๋ค.
- 4๋ฒ์งธ ๋ฌธ์๋ถํฐ 5๋ฒ์งธ ๋ฌธ์๊น์ง ๋ค์ง์ผ๋ฉด 1111111์ด ๋์ด์ 2๋ฒ ๋ง์ ๋ชจ๋ ๊ฐ์ ์ซ์๋ก ๋ง๋ค ์ ์๋ค.
ํ์ง๋ง, ์ฒ์๋ถํฐ 4๋ฒ์งธ ๋ฌธ์๋ถํฐ 5๋ฒ์งธ ๋ฌธ์๊น์ง ๋ฌธ์๋ฅผ ๋ค์ง์ผ๋ฉด ํ ๋ฒ์ 0000000์ด ๋์ด์ 1๋ฒ ๋ง์ ๋ชจ๋ ๊ฐ์ ์ซ์๋ก ๋ง๋ค ์ ์๋ค.
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ๋ค์์ด๊ฐ ํด์ผํ๋ ํ๋์ ์ต์ ํ์๋ฅผ ์ถ๋ ฅํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. S์ ๊ธธ์ด๋ 100๋ง๋ณด๋ค ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ค์์ด๊ฐ ํด์ผํ๋ ํ๋์ ์ต์ ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์์
์ ๋ ฅ
0001100
์ถ๋ ฅ
1
๋ด ๋ฌธ์ ํ์ด
import Foundation
var input = Array(readLine()!).map({Int(String($0))!})
var zero = 0 // 0 ๋ธ๋ก์ ๊ฐ์
var one = 0 // 1 ๋ธ๋ก์ ๊ฐ์
var check = true // ํ์ฌ 1 ๋ธ๋ก์ด ์ ์ง๋๊ณ ์๋ค๋ฉด true, 0 ๋ธ๋ก์ด ์ ์ง๋๊ณ ์๋ค๋ฉด false
if input[0] == 0 { check = false; zero += 1 }
else { one += 1 }
for i in input[1...input.count-1] {
if i == 0 && check == true { check = false; zero += 1 }
else if i == 1 && check == false { check = true; one += 1 }
}
zero > one ? print(one) : print(zero)
๐ ์ด ๋ฌธ์ ๋ ๊ต์ฅํ ๋จ์ํ๊ฒ๋, 0์ผ๋ก ์ฐ์๋ ๋ธ๋ก๊ณผ 1๋ก ์ฐ์๋ ๋ธ๋ก์ ๊ฐ์๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋ฐ๋ก ํต์ฌ!
- if, else๋ฅผ ์ด์ฉํ์ฌ ๋งจ ์ฒ์ ์์ํ๋ ์ซ์๋ฅผ ํ์
ํด์ค ํ,
for๋ฌธ์ ์ด์ฉํ์ฌ 0๋ธ๋ก์ ๊ฐ์์ 1๋ธ๋ก์ ๊ฐ์๋ฅผ ์์๋๋ค. - ๊ทธ๋ฆฌ๊ณ ๊ตฌํ 0๋ธ๋ก, 1๋ธ๋ก์ ๊ฐ์ ์ค ๋ ์์ ๊ฒ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ก ํผ๋๋ฐฑ
- ์ง๋ฌธ์ ๋ณต์กํด๋ณด์ด์ง๋ง, ๊ต์ฅํ ๋จ์ํ ๋ฌธ์ ๋ผ ๊ธ๋ฐฉ ํ ์ ์์๋ค.
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์ฃผ์ ์ BOJ #13305 (0) | 2021.08.19 |
---|---|
[Swift Algorithm] ํ๋ฆฐํฐ Programmers(Lv.2) (0) | 2021.08.19 |
[Swift Algorithm] ์ ๋ฌถ๊ธฐ BOJ #1744 (0) | 2021.08.19 |
[Swift Algorithm] ๊ฒ์์ ๋ง๋ ๋์ค์ด BOJ #2847 (0) | 2021.08.19 |
[Swift Algorithm] ์์ด๋ฒ๋ฆฐ ๊ดํธ BOJ #1541 (2) | 2021.08.18 |
๋๊ธ