[Python-Baekjoon] ๋ฌธ์ž์—ด

Beanxxยท2021๋…„ 8์›” 17์ผ
0

Algorithm

๋ชฉ๋ก ๋ณด๊ธฐ
7/10
post-thumbnail

๋ฐฑ์ค€-๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ-'๋ฌธ์ž์—ด' ํŒŒํŠธ ๋ฌธ์ œ๋“ค ์ค‘ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๊ฐœ๋… ๋ฐ ๋ฌธ์ œ๋“ค์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

[Baekjoon] 11654. ์•„์Šคํ‚ค ์ฝ”๋“œ

: ์•„์Šคํ‚ค ์ฝ”๋“œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 11654 ๋ฌธ์ œ ๋งํฌ

a = input()
print(ord(a))
  • ord(๋ฌธ์ž) : ์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • chr(์ˆซ์ž) : ์ˆซ์ž์— ๋งž๋Š” ์•„์Šคํ‚ค ์ฝ”๋“œ ๋ฐ˜ํ™˜


[Baekjoon] 11720. ์ˆซ์ž์˜ ํ•ฉ

: ์ •์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋ฐ›๋Š” ๋ฌธ์ œ.

๐Ÿ“˜ 11720 ๋ฌธ์ œ ๋งํฌ

n = int(input())
num = list(map(int, input()))  # ex) 123 -> [1, 2, 3]
result = 0

for i in range(n):
    result += num[i] 

print(result)


[Baekjoon] 10809. ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ

: ํ•œ ๋‹จ์–ด์—์„œ ๊ฐ ์•ŒํŒŒ๋ฒณ์ด ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 10809 ๋ฌธ์ œ ๋งํฌ

S = input()

for i in range(97, 123):
    print(S.find(chr(i)), end=' ')
  • ASCII CODE๋กœ ์†Œ๋ฌธ์ž a~z = 97~122 ์˜๋ฏธ
  • find() : ํŠน์ • ๋ฌธ์ž๋ฅผ ์ฐพ๊ณ  ์œ„์น˜ ๋ฐ˜ํ™˜ (๋’ค์— index๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ index 0๋ถ€ํ„ฐ ์‹œ์ž‘), ์ฐพ๋Š” ๋ฌธ์ž๊ฐ€ ์—†์„๊ฒฝ์šฐ -1 return
  • end=' ' : ๋ฐ˜๋ณต ์ถœ๋ ฅ๋  ๋•Œ๋งˆ๋‹ค ํ•œ ์ค„์”ฉ ์ถœ๋ ฅ์ด ์•„๋‹Œ ๊ฐ™์€ ์ค„์— ํ•œ ์นธ ๊ณต๋ฐฑ ํ›„ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•ด ์คŒ.


[Baekjoon] 2675. ๋ฌธ์ž์—ด ๋ฐ˜๋ณต

: ๊ฐ ๋ฌธ์ž๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 2675 ๋ฌธ์ œ ๋งํฌ

T = int(input())

for i in range(T):
    num, string = input().split()
    result = ''
    for j in string: # string=abc -> j : a, b, c 
        result += j * int(num)
    print(result)


[Baekjoon] 1157. ๋‹จ์–ด ๊ณต๋ถ€

: ์ฃผ์–ด์ง„ ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 1157 ๋ฌธ์ œ ๋งํฌ

a = input().upper()  # ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ
lists = list(set(a))  # ์ค‘๋ณต๋œ ๋ฌธ์ž๋ฅผ ์ •๋ ฌ
c = []

for i in lists:
    counts = a.count(i)  # ์ž…๋ ฅํ•œ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜๋ฅผ count
    c.append(counts)

if c.count(max(c)) >= 2:  # ๋ฆฌ์ŠคํŠธ ์ค‘ ๋งŽ์ด ๋‚˜์˜จ ๋ฌธ์ž๊ฐ€ 2๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ
    print("?")
else:
    print(lists[(c.index(max(c)))])


[Baekjoon] 1152. ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜

: ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 1152 ๋ฌธ์ œ ๋งํฌ

a = input().split()
print(len(a))
  • a๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ช‡ ๊ฐœ์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— len() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‹จ์–ด๊ฐ€ ๋ช‡ ๊ฐœ ์ธ์ง€ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • โ— ์ •๋‹ต ๋น„์œจ์ด 27ํผ๋กœ ๋‚ฎ์•„์„œ ์–ด๋ ค์šด ๋ฌธ์ œ์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ •๋ง ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€๋‹ค.


[Baekjoon] 2908. ์ƒ์ˆ˜

: ์ˆซ์ž๋ฅผ ๋’ค์ง‘์–ด์„œ ๋น„๊ตํ•˜๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 2908 ๋ฌธ์ œ ๋งํฌ

no.1

์ฒ˜์Œ์œผ๋กœ ํ’€์—ˆ๋˜ ์ฝ”๋“œ๋Š” for๋ฌธ์„ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

a, b = list(input().split())
re_a = ''
re_b = ''

for i in str(a):
    re_a = i + re_a  

for j in str(b):
    re_b = j + re_b

if int(re_a) > int(re_b):
    print(re_a)
elif int(re_b) > int(re_a):
    print(re_b)

์•„๋ž˜๋Š” for๋ฌธ์ด ๋Œ์•„๊ฐ€๋Š” ์›๋ฆฌ์ด๋‹ค.

for i in str(a):
    re_a = i + re_a 
 
 # ex) a = 123
 re_a = 1 + '' โ†’ 1
 re_a = 2 + 1 โ†’ 21
 re_a = 3 + 21 โ†’ 321

no.2

ํ’€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋‚˜ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ๋น„๊ต์  ๋” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

a, b = input().split()
a = int(a[::-1])
b = int(b[::-1])
result = max(a, b)
print(result)
  • a[A::B::C] : index A ~ B ๊นŒ์ง€ C ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐฐ์—ด ์„ค์ •.
    ex) a[::-1] : ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ -1์นธ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐฐ์—ด ์„ค์ • (= ์—ญ์ˆœ์œผ๋กœ ์„ค์ •)


[Baekjoon] 5622. ๋‹ค์ด์–ผ

: ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฌธ์ž์— ๋Œ€์‘ํ•˜๋Š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 5622 ๋ฌธ์ œ ๋งํฌ

word = input().lower()  #์ž…๋ ฅํ•œ ๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜
s = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqrs', 'tuv', 'wxyz']

time = 0
for i in range(len(word)):
    for j in s:
        if(word[i] in j): 
            time += s.index(j) + 3  # (index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ +1) + (๋‹ค์ด์–ผ ์ˆซ์ž ํ•˜๋‚˜์— 2์ดˆ) = 3์ดˆ
print(time)


[Baekjoon] 2941. ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ

: ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 2941 ๋ฌธ์ œ ๋งํฌ

words = input()
changes = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

for i in changes:
    words = words.replace(i, '*')  #ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ๋ฌธ์ž(changes)์— ํฌํ•จ์ด ๋˜๋ฉด ํ•ด๋‹น ๋ฌธ์ž์—ด์„ *๋กœ ๋ณ€๊ฒฝ
print(len(words))
  • replace("์ฐพ์„๊ฐ’", "๋ฐ”๊ฟ€๊ฐ’") : ๋ฌธ์ž์—ด ๋ณ€๊ฒฝ


[Baekjoon] 1316. ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค

: ์กฐ๊ฑด์— ๋งž๋Š” ๋ฌธ์ž์—ด์„ ์ฐพ๋Š” ๋ฌธ์ œ

๐Ÿ“˜ 1316 ๋ฌธ์ œ ๋งํฌ

n = int(input())

for i in range(n):
    word = input()
    for j in range(1, len(word)):
        if word.find(word[j-1]) > word.find(word[j]):
            n -= 1
            break
print(n)
  • find() : ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋‹จ์–ด๋ฅผ ์ฐพ์•„์„œ index๋ฅผ ์•Œ๋ ค์คŒ. (๊ฐ’์„ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ทธ ๋‹จ์–ด๊ฐ€ ์ฒซ ๋ฒˆ์งธ๋กœ ๋“ฑ์žฅํ•œ ์œ„์น˜๋ฅผ ์•Œ๋ ค์คŒ.)
  • ๋งŒ์•ฝ ๋’ค์— ์žˆ๋Š” ๋‹จ์–ด์˜ index๊ฐ€ ์•ž์— ์žˆ๋Š” ๋‹จ์–ด์˜ index๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ์•ž์—์„œ ์ด๋ฏธ ๋“ฑ์žฅํ–ˆ๋˜ ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹˜.
profile
FE developer

0๊ฐœ์˜ ๋Œ“๊ธ€