2021. 5. 22. 00:14ใ๐ฑ Algorithm
์ ๊ทผ
๋๋ฌด ๋ณต์กํ ๋ฌธ์ ๋ผ ์๊ฐํ๊ณ ์ ๊ทผํ๋ ์ฝ๋๋ ์ค์ ๋ก ๋๋ฌ์์ก๋ค.
#์ด ๋ถ์ ์์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง๊ฐ ์ค์ ๊ด๊ฑด์ธ๋ฐ, C#์ ๊ผญ 'C#' ์ฒ๋ผ ํ๋์ ์์๋ก ๋ฌถ์ ํ์๊ฐ ์์๊น?
๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ ๊ณผ์ ๋ ์ค์ํ์ง๋ง, ๊ฒฐ๊ณผ๋ฅผ ํค์น์ง ์๋ ์ ์์ ๊ณผ์ ์ ๋ง์ ๊ป ๋ณ๊ฒฝ๋ผ๋ ๊ด์ฐฎ๋ค. C#์ ๊ทธ๋ฅ ์๋ฌธ์ c๋ก ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ํํด๋ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋๋ฐ ๋ฌธ์ ์๋ค.
์ค์ ํฌ์ธํธ
1. ๋ต์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ์ ๋ต์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค.
- ์ฌ์ ์ Answer๋ณ์์ ("(None)", None) set๋ฅผ ์ ์ํ๋ค.
2. split() ๋ฉ์๋๋ฅผ ํ์์ ์ผ๋ก ์ฌ์ฉํ ์ ๋ฐ์ ์๋ค.
3. split() ๋ฉ์๋๋ก ๋ฆฌ์คํธ๋ง ๋ง๋ค์ง๋ง๊ณ , ์๋ ์ฝ๋์ฒ๋ผ ๊ฐ๊ฐ์ ์์๋ฅผ ๋ณ์์ ํ ๋นํ ์ ์๋ค.
4. ๋ค์ค๊ฐ ๋ค์ ์ m์ ๋ฐ๋์ melody_played ์ ์ผ๋ถ๋ถ์ผ๋ก, if m in melody_played ์กฐ๊ฑด๋ฌธ์ผ๋ก ํ๋ณํ ์ ์๋ค.
์ฝ๋
def change_hash(array):
array = array.replace('C#', 'c')
array = array.replace("D#", 'd')
array = array.replace("F#", 'f')
array = array.replace("G#", 'g')
array = array.replace("A#", 'a')
return array
def solution(m, musicinfos):
m = change_hash(m)
answer = ('(None)', None)
for info in musicinfos:
start, end, title, melody = info.split(',')
start_h, start_m, end_h, end_m = map(int, start.split(':') + end.split(':'))
time = 60*(end_h-start_h) + (end_m-start_m)
melody = change_hash(melody)
melody_played = (melody*time)[:time]
if m in melody_played:
if (answer[1] == None) or (time > answer[1]):
answer = (title, time)
return answer[0]
'๐ฑ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค [lv1] ์ ๊ท์์ด๋์ถ์ฒ (0) | 2021.07.22 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค [lv1] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด ํ์ด์ฌ (0) | 2021.07.21 |
ํ๋ก๊ทธ๋๋จธ์ค [lv1] ์์ฃผํ์ง ๋ชปํ ์ ์ ํ์ด์ฌ (0) | 2021.06.30 |
ํ๋ก๊ทธ๋๋จธ์ค [lv3] ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ ํ์ด์ฌ (0) | 2021.05.27 |
[201018] ํ๋ก๊ทธ๋๋จธ์ค ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2020.10.20 |