๐ฌ ๋ฌธ์ ์ค๋ช : ์์ ์ํธ
์ด๋ค ๋ฌธ์ฅ์ ๊ฐ ์ํ๋ฒณ์ ์ผ์ ํ ๊ฑฐ๋ฆฌ๋งํผ ๋ฐ์ด์ ๋ค๋ฅธ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊พธ๋ ์ํธํ ๋ฐฉ์์ ์์ ์ํธ๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "AB"๋ 1๋งํผ ๋ฐ๋ฉด "BC"๊ฐ ๋๊ณ , 3๋งํผ ๋ฐ๋ฉด "DE"๊ฐ ๋ฉ๋๋ค. "z"๋ 1๋งํผ ๋ฐ๋ฉด "a"๊ฐ ๋ฉ๋๋ค. ๋ฌธ์์ด s์ ๊ฑฐ๋ฆฌ n์ ์ ๋ ฅ๋ฐ์ s๋ฅผ n๋งํผ ๋ฏผ ์ํธ๋ฌธ์ ๋ง๋๋ ํจ์, solution์ ์์ฑํด ๋ณด์ธ์.
๐ ์ ํ ์ฌํญ
- ๊ณต๋ฐฑ์ ์๋ฌด๋ฆฌ ๋ฐ์ด๋ ๊ณต๋ฐฑ์ ๋๋ค.
- s๋ ์ํ๋ฒณ ์๋ฌธ์, ๋๋ฌธ์, ๊ณต๋ฐฑ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- s์ ๊ธธ์ด๋ 8000์ดํ์ ๋๋ค.
- n์ 1 ์ด์, 25์ดํ์ธ ์์ฐ์์ ๋๋ค.
๐ก ๋์ ํ์ด
def solution(s, n):
s = list(s)
for i in range(len(s)):
if s[i].isupper():
s[i]=chr((ord(s[i])-ord('A')+ n)%26+ord('A'))
elif s[i].islower():
s[i]=chr((ord(s[i])-ord('a')+ n)%26+ord('a'))
return "".join(s)
* chr() ํจ์๋ ์ซ์๋ฅผ ์ธ์๋ก ์ฃผ๋ฉด ์์คํค ์ฝ๋์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ๋ฐํํ๋ฉฐ (์์คํค ์ฝ๋ -> ๋ฌธ์)
* ord() ํจ์๋ ๋ฌธ์์ ์์คํค ์ฝ๋๋ฅผ ๋ฐํํ๋ค. (๋ฌธ์ -> ์์คํค ์ฝ๋)
๐๐ป ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ
๐ฌ ๋ฌธ์ ์ค๋ช
: [1์ฐจ] ๋น๋ฐ์ง๋
๊ธธ๋ค
๋ค์ค๋ ํ์ ํ๋ก๋๊ฐ ๋น์๊ธ์ ์จ๊ฒจ๋๋ ์ฅ์๋ฅผ ์๋ ค์ค ๋น๋ฐ์ง๋๋ฅผ ์์ ๋ฃ์๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋น๋ฐ์ง๋๋ ์ซ์๋ก ์ํธํ๋์ด ์์ด ์์น๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ์ํธ๋ฅผ ํด๋
ํด์ผ ํ๋ค. ๋คํํ ์ง๋ ์ํธ๋ฅผ ํด๋
ํ ๋ฐฉ๋ฒ์ ์ ์ด๋์ ๋ฉ๋ชจ๋ ํจ๊ป ๋ฐ๊ฒฌํ๋ค.
์ง๋๋ ํ ๋ณ์ ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ ๋ฐฐ์ด ํํ๋ก, ๊ฐ ์นธ์ "๊ณต๋ฐฑ"(" ") ๋๋ "๋ฒฝ"("#") ๋ ์ข
๋ฅ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ ์ฒด ์ง๋๋ ๋ ์ฅ์ ์ง๋๋ฅผ ๊ฒน์ณ์ ์ป์ ์ ์๋ค. ๊ฐ๊ฐ "์ง๋ 1"๊ณผ "์ง๋ 2"๋ผ๊ณ ํ์. ์ง๋ 1 ๋๋ ์ง๋ 2 ์ค ์ด๋ ํ๋๋ผ๋ ๋ฒฝ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๋ฒฝ์ด๋ค. ์ง๋ 1๊ณผ ์ง๋ 2์์ ๋ชจ๋ ๊ณต๋ฐฑ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๊ณต๋ฐฑ์ด๋ค.
"์ง๋ 1"๊ณผ "์ง๋ 2"๋ ๊ฐ๊ฐ ์ ์ ๋ฐฐ์ด๋ก ์ํธํ๋์ด ์๋ค.
์ํธํ๋ ๋ฐฐ์ด์ ์ง๋์ ๊ฐ ๊ฐ๋ก์ค์์ ๋ฒฝ ๋ถ๋ถ์ 1, ๊ณต๋ฐฑ ๋ถ๋ถ์ 0์ผ๋ก ๋ถํธํํ์ ๋ ์ป์ด์ง๋ ์ด์ง์์ ํด๋นํ๋ ๊ฐ์ ๋ฐฐ์ด์ด๋ค.
๋ค์ค๊ฐ ํ๋ก๋์ ๋น์๊ธ์ ์์ ๋ฃ์ ์ ์๋๋ก, ๋น๋ฐ์ง๋์ ์ํธ๋ฅผ ํด๋
ํ๋ ์์
์ ๋์์ค ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
๐ ์ ํ ์ฌํญ
- ์
๋ ฅ์ผ๋ก ์ง๋์ ํ ๋ณ ํฌ๊ธฐ n ๊ณผ 2๊ฐ์ ์ ์ ๋ฐฐ์ด arr1, arr2๊ฐ ๋ค์ด์จ๋ค.
- 1 โฆ n โฆ 16
- arr1, arr2๋ ๊ธธ์ด n์ธ ์ ์ ๋ฐฐ์ด๋ก ์ฃผ์ด์ง๋ค.
- ์ ์ ๋ฐฐ์ด์ ๊ฐ ์์ x๋ฅผ ์ด์ง์๋ก ๋ณํํ์ ๋์ ๊ธธ์ด๋ n ์ดํ์ด๋ค. ์ฆ, 0 โฆ x โฆ 2n - 1์ ๋ง์กฑํ๋ค
๐ก ๋์ ํ์ด
def solution(n, arr1, arr2):
answer = []
arr1_bin = []
arr2_bin = []
for i in range(n):
arr1_bin.append(bin(arr1[i])[2:])
arr2_bin.append(bin(arr2[i])[2:])
arr1_bin[i] = ('0' * (n-len(arr1_bin[i]))) + arr1_bin[i]
arr2_bin[i] = ('0' * (n-len(arr2_bin[i]))) + arr2_bin[i]
tmp = ''
for p in range(n):
if arr1_bin[i][p] == '1' or arr2_bin[i][p] == '1':
tmp += '#'
elif arr1_bin[i][p] == '0' and arr2_bin[i][p] == '0':
tmp += ' '
answer.append(tmp)
return answer
* bin () : 2์ง๋ฒ ๋ณํ ํจ์
๐๐ป ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ
'Coding > Code in the Morning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
220118_Code in the morning (๊ธฐ๋ฅ๊ฐ๋ฐ) (0) | 2022.01.18 |
---|---|
220117_Code in the morning (์ฃผ์๊ฐ๊ฒฉ) (0) | 2022.01.17 |
220105_Code in the morning (0) | 2022.01.05 |
211230_Code in the morning(์์์ฐพ๊ธฐ, ์๋ผํ ์คํ ๋ค์ค์ ์ฒด) (0) | 2021.12.30 |
211229_Code in the morning (0) | 2021.12.29 |