๊ตฌํ˜„

eziยท2023๋…„ 9์›” 8์ผ
0

์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ๋ก ๋ณด๊ธฐ
5/11

๐Ÿ”Š๋ณธ ํฌ์ŠคํŒ…์€ '(์ด์ฝ”ํ…Œ 2021) ์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ' ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

๊ตฌํ˜„์ด๋ž€?

๋จธ๋ฆฟ์†์— ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์†Œ์Šค์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •

  1. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„๋‹จํ•œ๋ฐ ์ฝ”๋“œ๊ฐ€ ์ง€๋‚˜์น  ๋งŒํผ ๊ธธ์–ด์ง€๋Š” ๋ฌธ์ œ
  2. ์‹ค์ˆ˜ ์—ฐ์‚ฐ์„ ๋‹ค๋ฃจ๊ณ , ํŠน์ • ์†Œ์ˆ˜์  ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ
  3. ๋ฌธ์ž์—ด์„ ํŠน์ •ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ์„œ ๋Š์–ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ
  4. ์ ์ ˆํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ

์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์—์„œ์˜ 2์ฐจ์› ๊ณต๊ฐ„์€ ํ–‰๋ ฌ(Matrix)์˜ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

for i in range(5):
	for j in range(5):
    	print('(',i,',',j,')', end=' ')
    print()

์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ์™„์ „ ํƒ์ƒ‰ ๋ฌธ์ œ์—์„œ๋Š” 2์ฐจ์› ๊ณต๊ฐ„์—์„œ์˜ ๋ฐฉํ–ฅ ๋ฒกํ„ฐ๊ฐ€ ์ž์ฃผ ํ™œ์šฉ๋œ๋‹ค.

์—…๋กœ๋“œ์ค‘..

# ๋™, ๋ถ, ์„œ, ๋‚จ
dx = [0,-1,0,1]
dy = [1,0,-1,0]

# ํ˜„์žฌ ์œ„์น˜
x,y = 2,2

for i in range(4):
	# ๋‹ค์Œ ์œ„์น˜
    nx = x + dx[i]
    ny = y + dy[i]
    print(nx, ny)

[ ์˜ˆ์ œ 1 ] ์ƒํ•˜์ขŒ์šฐ

๋ฌธ์ œ ์„ค๋ช…

์—ฌํ–‰๊ฐ€ A๋Š” NXN ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ๊ณต๊ฐ„ ์œ„์— ์„œ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ณต๊ฐ„์€ 1X1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์™ผ์ชฝ ์œ„ ์ขŒํ‘œ๋Š” (1,1)์ด๋ฉฐ, ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์ขŒํ‘œ๋Š” (N,N)์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์—ฌํ–‰๊ฐ€ A๋Š” ์ƒ,ํ•˜,์ขŒ,์šฐ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹œ์ž‘ ์ขŒํ‘œ๋Š” ํ•ญ์ƒ (1,1)์ž…๋‹ˆ๋‹ค.
์šฐ๋ฆฌ ์•ž์—๋Š” ์—ฌํ–‰๊ฐ€ A๊ฐ€ ์ด๋™ํ•  ๊ณ„ํš์ด ์ ํžŒ ๊ณ„ํš์„œ๊ฐ€ ๋†“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ„ํš์„œ์—๋Š” ํ•˜๋‚˜์˜ ์ค„์— ๋„์–ด์“ฐ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜์—ฌ L,R,U,D ์ค‘ ํ•˜๋‚˜์˜ ๋ฌธ์ž๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ ํ˜€์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฌธ์ž์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

L: ์™ผ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™
R: ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™
U: ์œ„๋กœ ํ•œ ์นธ ์ด๋™
D: ์•„๋ž˜๋กœ ํ•œ ์นธ ์ด๋™

์ด๋•Œ ์—ฌํ–‰๊ฐ€ A๊ฐ€ NXN ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ๊ณต๊ฐ„์„ ๋ฒ—์–ด๋‚˜๋Š” ์›€์ง์ž„์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

# N ์ž…๋ ฅ ๋ฐ›๊ธฐ
n = int(input())
x,y = 1,1
plans = input().split()

# L,R,U,D์— ๋”ฐ๋ฅธ ์ด๋™ ๋ฐฉํ–ฅ
dx = [0,0,-1,1]
dy = [-1,1,0,0]
move_types = ['L','R','U','D']

# ์ด๋™ ๊ณ„ํš์„ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•˜๊ธฐ
for plan in plans:
	# ์ด๋™ ํ›„ ์ขŒํ‘œ ๊ตฌํ•˜๊ธฐ
    for i in range(len(move_types)):
    	if plan == move_types[i]:
        	nx = x+dx[i]
            ny = y+dy[i]
    # ๊ณต๊ฐ„์„ ๋ฒ—์–ด๋‚˜๋Š” ๊ฒฝ์šฐ ๋ฌด์‹œ
    if nx<1 or ny<1 or nx>n or ny>n:
    	continue
    # ์ด๋™ ์ˆ˜ํ–‰
    x,y = nx,ny

print(x,y)

[ ์˜ˆ์ œ 2 ] ์‹œ๊ฐ

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ N์ด ์ž…๋ ฅ๋˜๋ฉด 00์‹œ 00๋ถ„ 00์ดˆ๋ถ€ํ„ฐ N์‹œ 59๋ถ„ 59์ดˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์‹œ๊ฐ ์ค‘์—์„œ 3์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด 1์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๋‹ค์Œ์€ 3์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์„ธ์–ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ์ž…๋‹ˆ๋‹ค.

00์‹œ 00๋ถ„ 03์ดˆ
00์‹œ 13๋ถ„ 30์ดˆ

  • ์ด๋Ÿฌํ•œ ์œ ํ˜•์€ ์™„์ „ ํƒ์ƒ‰(Brute Forcing) ๋ฌธ์ œ ์œ ํ˜•์ด๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.
    ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ฒ€์‚ฌํ•ด๋ณด๋Š” ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
n = int(input())

# 1. 0์‹œ ~ n์‹œ
# 2. 00๋ถ„ ~ 59๋ถ„
# 3. 00์ดˆ ~ 59์ดˆ

cnt = 0

for i in range(n+1):
    for j in range(60):
        for k in range(60):
            time = str(i) + str(j) + str(k)
            if '3' in time:
                cnt += 1
                
print(cnt)

[ ์˜ˆ์ œ 3 ] ์™•์‹ค์˜ ๋‚˜์ดํŠธ

๋ฌธ์ œ ์„ค๋ช…

ํ–‰๋ณต ์™•๊ตญ์˜ ์™•์‹ค ์ •์›์€ ์ฒด์ŠคํŒ๊ณผ ๊ฐ™์€ 8X8 ์ขŒํ‘œ ํ‰๋ฉด์ž…๋‹ˆ๋‹ค.
์™•์‹ค ์ •์›์˜ ํŠน์ •ํ•œ ํ•œ ์นธ์— ๋‚˜์ดํŠธ๊ฐ€ ์„œ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜์ดํŠธ๋Š” ๋ง์„ ํƒ€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋™ํ•  ๋•Œ๋Š” L์ž ํ˜•ํƒœ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ •์› ๋ฐ–์œผ๋กœ๋Š” ๋‚˜๊ฐˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜์ดํŠธ๋Š” ํŠน์ • ์œ„์น˜์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ 2๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1. ์ˆ˜ํ‰์œผ๋กœ ๋‘ ์นธ ์ด๋™ํ•œ ๋’ค์— ์ˆ˜์ง์œผ๋กœ ํ•œ ์นธ ์ด๋™ํ•˜๊ธฐ
2. ์ˆ˜์ง์œผ๋กœ ๋‘ ์นธ ์ด๋™ํ•œ ๋’ค์— ์ˆ˜ํ‰์œผ๋กœ ํ•œ ์นธ ์ด๋™ํ•˜๊ธฐ

์™•์‹ค์˜ ์ •์›์—์„œ ํ–‰ ์œ„์น˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ๋Š” 1๋ถ€ํ„ฐ 8๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, ์—ด ์œ„์น˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ๋Š” a๋ถ€ํ„ฐ h๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

n = input()
x = ord(n[0]) - 96
y = int(n[1])
cnt = 0

steps = [(-2,1), (-2,-1), (2,1), (2,-1), (1,2), (1,-2), (-1,2), (-1,-2)]


for step in steps:
    dx = x + step[0]
    dy = y + step[1]
    if (dx >= 1 and dx <= 8 and dy >= 1 and dy <= 8):
        cnt += 1
        
print(cnt)

[ ์˜ˆ์ œ 4 ] ๋ฌธ์ž์—ด ์žฌ์ •๋ ฌ

๋ฌธ์ œ ์„ค๋ช…

์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž์™€ ์ˆซ์ž(0~9)๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

์ด๋•Œ ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ด์–ด์„œ ์ถœ๋ ฅํ•œ ๋’ค์—, ๊ทธ ๋’ค์— ๋ชจ๋“  ์ˆซ์ž๋ฅผ ๋”ํ•œ ๊ฐ’์„ ์ด์–ด์„œ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ

1.์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœํšŒํ•˜๋ฉด์„œ ์•ŒํŒŒ๋ฒณ์ด๋ฉด (.isalpha()์‚ฌ์šฉ) ์•ŒํŒŒ๋ฒณ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ
2. ์•ŒํŒŒ๋ฒณ์ด ์•„๋‹ˆ๋ผ๋ฉด ์ˆซ์ž๋ฅผ ๊ณ„์† ๋”ํ•ด๋‚˜๊ฐ
3. ์•ŒํŒŒ๋ฒณ์„ ์˜ค๋ฆ„์ฐจ์ˆœ(sort() ์‚ฌ์šฉ) ํ•ด์ฃผ๊ณ 
4. ๋’ค์— ๋”ํ•œ ์ˆซ์ž๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค (.append() ์‚ฌ์šฉ) 
5.'๊ตฌ๋ถ„์ž'.join(๋ฆฌ์ŠคํŠธ): ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’๊ณผ ๊ฐ’ ์‚ฌ์ด์— '๊ตฌ๋ถ„์ž'์— ๋“ค์–ด์˜จ ๊ตฌ๋ถ„์ž๋ฅผ ๋„ฃ์–ด์„œ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜

.join() ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ:
์—…๋กœ๋“œ์ค‘..
.join() ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ:
์—…๋กœ๋“œ์ค‘..

def solution(s):
    num = 0
    answer = []
    
    for i in s:
        if i.isalpha():
            answer.append(i)
        else:
            num += int(i)
    
    answer.sort()
    answer.append(str(num))
    
    return ''.join(answer)

print(solution("K1KA5CB7"))
profile
์ฐจ๊ณก์ฐจ๊ณก

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