๊ทผ๋ฌด ์ง์ฅ์ ๋น ์ง ํธ์์ด (Small)(25593๋ฒ)
Bronze 1
#๊ตฌํ #์๋ฃ ๊ตฌ์กฐ #๋ฌธ์์ด #ํด์๋ฅผ ์ฌ์ฉํ ์งํฉ๊ณผ ๋งต
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
๋ฌธ์ ๋ฅผ ์ดํดํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
์ ๋ ฅ ํ์์ด ์ฃผ์ ๊ฐ์์ธ N์์ 4๋ฅผ ๊ณฑํ ์ค ๋งํผ ์ ๋ ฅ์ด ์ฃผ์ด์ง๊ณ ์๋ค.
์ ๊ทธ๋ฆผ์์ ๋์น๊ฐ ๋น ๋ฅด์ ๋ถ๋ค์ ๋๊ฐ ๋์น๋ฅผ ์ฑ ๊ฒ์ด๋ค.
์ฒซ ์ค์ ์ฃผ์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ๋ฌธ์์ด๋ค์ด ์ฃผ์ ๊ฐ์(4)์ 4๋ฅผ ๊ณฑํ ๋งํผ์ ์(16)๋งํผ ์ ๋ ฅ๋๋ค๋ ์ฌ์ค์ ๋ณผ ์ ์๋ค.
๋ํ ํ ์ค์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก 7๊ฐ๋ก ๋๋์ด์ ์ ๋ ฅ๋๋ค. ๋ํ ๋ฌธ์ ์ค๋ช ์์ 4 ๊ต๋ ๊ทผ๋ฌด๋ฅผ ์ ๋ค๊ณ ๋์ด ์๋ค.
์ค์ 8 ~ ์คํ 12, ์คํ 12 ~ ์คํ 6, ์คํ 6 ~ ์คํ 10, ์คํ 10 ~ ์ค์ 8 ํด์ 4๋ฒ์ ๊ต๋๊ฐ ์ด๋ฃจ์ด์ง๋ค.
- - - - - pangyo puang
- - - - - sally boss
- - - - - leonard brown
- - - - - edward edward
์ ๋ ฅ๊ฐ์์ 4๊ฐ์ ์ค์ ๋ผ์๋ค. ์ด ๊ฐ๋ค์ด ์ฒซ ์ฃผ์ ๊ทผ๋ฌดํ๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด๋ค.
์ ์ด ๊ฐ๋ค์ด ์ฒซ ์ฃผ์ ๋ฐ์ดํฐ๊ฐ ๋๋์ง๋ ํํธ๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ค.
5๋ฒ์งธ ์ค์ ์ฒซ ๋ฒ์งธ ๊ทผ๋ฌด์๊ฐ puang์ด๋ค. ํํธ๋ฅผ ๋ณด๋ฉด ๋์งธ ์ฃผ ์ฒซ๋ ์ด๋ผ๊ณ ์ธ๊ธ๋์ด ์๋ค. ๋ค์ ์๊ฐ๋์ ๊ทผ๋ฌด์๋ ์ด์ ์๊ฐ๋์ ๋ค์ ์ค์ ์ ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋ฅผ ํตํด 2๊ฐ์ง ์ฌ์ค์ ์ ์ ์๋ค.
1. ์ ๋ ฅ์ 1์ฃผ๊ฐ 4์ค๋ก ์ ๋ ฅ๋๋ค.
2. 1์ค์ ๊ฐ ๊ทผ๋ฌด์ ํด๋นํ๋ ์๊ฐ๋์ ๊ทผ๋ฌดํ๋ ๊ทผ๋ฌด์๋ค์ ์ ๋ ฅ๋ฐ๋๋ค. ์ฒซ ์ฃผ์ ์ ๋ ฅ๊ฐ์์ 1๋ฒ์งธ ์ค์ ์ฒซ ์ฃผ์ ์ค์ 8์๋ถํฐ ์คํ 12์๊น์ง์ ๊ทผ๋ฌด์ ๋ชฉ๋ก์ ์ ๋ ฅ๋ฐ๋ ๊ฒ์ด๋ค.
๋ค์ ์ ๋ ฅ ์์ ๋ฅผ ์ด์ฉํด ์ ๋ฆฌ๋ฅผ ํด ๋ณด๊ฒ ๋ค.
// ์
๋ ฅ๋๋ ๊ทผ๋ฌด์๋ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก 7๊ฐ๋ฅผ ์
๋ ฅ๋ฐ๋๋ค(๊ฐ ์์ผ์ ๊ทผ๋ฌดํ๋ ์ฌ๋์ ์๋ฏธํจ)
- - - - - pangyo puang // ์ค์ 8์ ~ ์คํ 12์ ๊ทผ๋ฌด์(4์๊ฐ)
- - - - - sally boss // ์คํ 12์ ~ ์คํ 6์ ๊ทผ๋ฌด์(6์๊ฐ)
- - - - - leonard brown // ์คํ 6์ ~ ์คํ 10์ ๊ทผ๋ฌด์(4์๊ฐ)
- - - - - edward edward // ์คํ 10์ ~ ์ค์ 8์ ๊ทผ๋ฌด์(10์๊ฐ)
์ ๋ ฅ๊ฐ๋ค์ ์ด์ฉํด ์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ N์ * 4๋งํผ ๋ฐ๋ณตํด์ ๊ฐ์ ์ ๋ ฅ๋ฐ๊ณ ๊ฐ ์ค์ ๋ง๋ ๊ทผ๋ฌด ํ์์ ์ง์ ํด ์ด๋ค ์ฌ๋์ด ์ผ๋ง๋งํผ ๊ทผ๋ฌด๋ฅผ ํ๋์ง ๋ํด๊ฐ๋ฉด์ ๊ณ์ฐํ๋ฉด ๋๋ค.
Map์ ์ด์ฉํด์ ๊ทผ๋ฌด์์ ๊ทผ๋ฌด ์๊ฐ์ ์ ์ํด ์ฃผ๋ฉด ๊ฐ ๊ทผ๋ฌด์์ ๋ํ ๊ทผ๋ฌด ์๊ฐ์ ํธํ๊ฒ ์ค์ ํ ์ ์๋ค.
์ค์ ๋ง๋ ๊ทผ๋ฌด ํ์์ ์ง์ ํ๋ ค๋ฉด ๊ฐ ๊ทผ๋ฌด ํ์์ ๋ช ์๊ฐ๋งํผ ์ผํ๋์ง ๋ฐฐ์ด๋ก ์ ์ฅํ๊ณ , ์ ๋ ฅ ์์์ ๊ฐ ๋ฐฐ์ด์ 4๋ก ๋๋ ๋๋จธ์ง๊ฐ์ index๋ก ์ค์ ํด์ ์ ์ ํ ๊ทผ๋ฌด ํ์์ ์ค์ ํด ์ค๋ค.
๊ทธ์ ์ Map์ key๊ฐ ์กด์ฌํ๋์ง ํ์ธํด์ผ ํ๋ค. Map์ key๊ฐ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๊ธฐ ์ํด์๋ containsKey()๋ฅผ ์ฌ์ฉํ๋ค.
if (!worker.containsKey(week[j])) {
worker[week[j]] = hour[i % 4]
} else {
worker[week[j]] = worker[week[j]]!! + hour[i % 4]
}
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ ๊ฒ ์ผํ ์ฌ๋๊ณผ ๊ฐ์ฅ ๋ง์ด ์ผํ ์ฌ๋์ ์ฐจ์ด๊ฐ 12๋ณด๋ค ํฌ๋ฉด ๊ณตํํ์ง ์์ ๊ทผ๋ฌด๊ฐ ๋๋ค. ์กฐ๊ฑด์ ์๋์ ๊ฐ์ด ์ค์ ํ ์ ์๋ค.
if (maxWork - minWork > 12) println("No")
else println("Yes")
๊ทธ๋ฆฌ๊ณ ๊ทผ๋ฌด์๊ฐ ์กด์ฌํ์ง ์์ ๋๋ Map์ด ๋น์ด ์์ผ๋ฉด ๊ทผ๋ฌด์๊ฐ ์กด์ฌํ์ง ์๋ค๋ ๋ป์ด๋ค. isEmpty()๋ก ๋น์ด ์๋์ง ํ์ธํด ์ค๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val weeks = readLine().toInt()
val worker = mutableMapOf<String, Int>()
val hour = listOf(10, 4, 6, 4)
for (i in 1 .. weeks * 4) {
val week = readLine().split(" ")
for (j in week.indices) {
if (week[j] == "-") continue
else {
if (!worker.containsKey(week[j])) {
worker[week[j]] = hour[i % 4]
} else {
worker[week[j]] = worker[week[j]]!! + hour[i % 4]
}
}
}
}
if (worker.isEmpty()) {
println("Yes")
return
}
val maxWork = worker.values.max()
val minWork = worker.values.min()
if (maxWork - minWork > 12) println("No")
else println("Yes")
}
๋ฌธ์ ํ์ด
์ ๋ ฅ๋ฐ์ ์ฃผ์ ๊ฐ์์ * 4๋ฅผ ํด์ ์ ๋ ฅ๋ฐ์์ค์ผ ํ๋ค.
๊ทผ๋ฌด์ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ทผ๋ฌด์๊ฐ ์๋์ง ํ์ธํ๋ค.
if (week[j] == "-") continue
๊ทผ๋ฌด์๊ฐ ์์ผ๋ฉด ๋๊ธด๋ค.
๊ทผ๋ฌด์๊ฐ ์์ผ๋ฉด Map์ key๊ฐ ์กด์ฌํ๋์ง ํ์ธํด์ผ ํ๋ค.
์์์ ์ธ๊ธํ๋ค์ํผ containsKey()๋ฅผ ์ด์ฉํด์ผ ํ๋ค.
if (!worker.containsKey(week[j])) {
worker[week[j]] = hour[i % 4]
} else {
worker[week[j]] = worker[week[j]]!! + hour[i % 4]
}
ํค๊ฐ ์์ผ๋ฉด ํค๋ฅผ ์๋ก ์์ฑํด ์ด๊ธฐ๊ฐ์ ๊ทผ๋ฌด ์๊ฐ์ผ๋ก ์ค์ ํด ์ค๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ๊ธฐ์กด ํค์ ๊ทผ๋ฌด ์๊ฐ์ ๋ํด ์ค๋ค.
๊ทผ๋ฌด ์๊ฐ์ด ์ ์ฅ๋ Map์์ value๋ค์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๊ตฌํด ์ค๋ค.
์ต๋๊ฐ์ ๊ฐ์ฅ ๊ทผ๋ฌด๋ฅผ ๋ง์ด ํ ์ฌ๋์ ๊ทผ๋ฌด ์๊ฐ์ด๊ณ ,
์ต์๊ฐ์ ๊ฐ์ฅ ๊ทผ๋ฌด๋ฅผ ์ ๊ฒ ํ ์ฌ๋์ ๊ทผ๋ฌด ์๊ฐ์ด๋ค.
๋ ๊ฐ์ ์ฐจ๊ฐ 12๋ฅผ ๋์ด๊ฐ๋ฉด ๊ณตํํ์ง ์์ ๊ทผ๋ฌด๊ฐ ๋๋ค. ๋ฌธ์ ์ ๊ทผ์ ์ฐธ๊ณ ํ์.
๋ํ ์ ๋ ฅ์ ๋ฐ์๋๋ฐ๋ Map์ด ๋น์ด ์์ผ๋ฉด ๊ทผ๋ฌด์๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ๋ป์ด๋ค. ๋ฌธ์ ์ค๋ช ์์๋ ์๋ฌด๋ ๊ทผ๋ฌดํ์ง ์์ผ๋ฉด ๊ณตํํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
if (worker.isEmpty()) {
println("Yes")
return
}
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๋ฌธ์ ํ์ด ์๊ฐ๋ณด๋ค ๋ฌธ์ ์ดํด ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ ธ๋ ๋ฌธ์ ์ด๋ค.
์์ 1์ ์ ๋ ฅ๊ฐ์ ์ฒซ ๋ฒ์งธ ์ฃผ์ ๊ฐ๊ณผ 4๋ฒ์งธ ์ฃผ์ ๊ฐ์ ๋น ๊ทผ๋ฌด์์๋ง ๋น ๊ทผ๋ฌด์(-)๊ฐ ์์ด์ ์ด ๊ฐ์ด ๋ฌด์จ ๊ด๊ณ๊ฐ ์๋? ํด์ ํ๋ค๋ฆฌ๋ฅผ ์ง์์๋ค.
์ดํด๋ฅผ ํ ๋ฒ ํ๋๊น ์ ๊ทธ๋ฐ ์๊ฐ์ ํ์๊น ํ๋ ์๊ฐ์ด ๋ค๊ธด ํ๋ค.
๊ตฌํ์ ๊ทธ๋ฅ ๋ฌธ์์ด๋ก๋ ๊ฐ๋ฅํ๊ธด ํ๋ฐ, Map์ ์ฌ์ฉํ๋ ๊ฒ ์ ์ ๊ฑด๊ฐ์ ์ด๋ก์ธ ๊ฒ์ด๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, B1] ๋ฐฑ์ค 20632๋ฒ ์ ๋๋์ ํด์ฆ์ผ (0) | 2024.08.28 |
---|---|
[Kotlin, B1] ๋ฐฑ์ค 15629๋ฒ Africa (0) | 2024.08.22 |
[Kotlin, B1] ๋ฐฑ์ค 1952๋ฒ ๋ฌํฝ์ด2 (0) | 2024.08.14 |
[Kotlin, B1] ๋ฐฑ์ค 16433๋ฒ ์ฃผ๋์ ๋น๊ทผ๋์ฅ (0) | 2024.08.07 |
[Kotlin, B2] ๋ฐฑ์ค 31215๋ฒ ์ด์ํ ์๊ธฐ ์ฐ์ฐ (0) | 2024.08.07 |