Coding/Code in the Morning

220110_Code in the morning

๊น€์œ ๋‹ˆ์ฝ˜ 2022. 1. 10. 12:17

Code in the morning, ๋งค์ผ ์•„์นจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’‰๋‹ˆ๋‹ค. 

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…: ์‹œ์ € ์•”ํ˜ธ

์–ด๋–ค ๋ฌธ์žฅ์˜ ๊ฐ ์•ŒํŒŒ๋ฒณ์„ ์ผ์ •ํ•œ ๊ฑฐ๋ฆฌ๋งŒํผ ๋ฐ€์–ด์„œ ๋‹ค๋ฅธ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ฐ”๊พธ๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‹œ์ € ์•”ํ˜ธ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "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() ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (๋ฌธ์ž -> ์•„์Šคํ‚ค ์ฝ”๋“œ)

 

๐Ÿ‘‰๐Ÿป ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ 

 


 

 

Code in the morning, ๋งค์ผ ์•„์นจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’‰๋‹ˆ๋‹ค. 

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…: [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์ง„๋ฒ• ๋ณ€ํ™˜ ํ•จ์ˆ˜ 

 

 

๐Ÿ‘‰๐Ÿป ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ