* 2์ฐจ์ ๋ฐฐ์ด ์ด๊ธฐํ implementation ์ฃผ์์
๐๐ปโ๏ธ 2์ฐจ์ ๋ฐฐ์ด ํํ์ ์๋์ ๊ฐ์ด ์ด์ค list์ ํํ๋ก ํํํ ์ ์๋ค: mํ n์ด ๋ฐฐ์ด์ ํํ (๋ชจ๋ ์์ 0์ผ๋ก ์ด๊ธฐํ)
lst = [[0]*n for _ in range(m)]
๐๐ปโ๏ธ ์ฌ๊ธฐ์ ์ค์ํ ๊ฑด, 2์ฐจ์ ๋ฐฐ์ด ์ด๊ธฐํํ ๋, ์๋์ ๊ฐ์ ์ฝ๋๋ก ์์ฑํด์๋ ์ ๋ ์๋จ
lst = [[0]*n]*n
โ (๋งค์ฐ ์ค์) ์์ ๊ฐ์ด ์ด๊ธฐํํด์๋ ์๋๋ค. n๊ฐ์ [0]*n์ด ๋ชจ๋ ๊ฐ์ ๊ฐ์ฒด๋ก ์ธ์๋๊ธฐ ๋๋ฌธ. ์ฆ 2์ฐจ์ ๋ฐฐ์ด ์์ ๋ฐฐ์ด๋ค์ ์ ์ธํ๋ ๊ฒ ์๋๋ผ ๊ฐ๊ฐ์ ๋ฐฐ์ด๋ค์ ์ ์ธ. ๋ฐ๋ผ์ 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ์ ๋ฃ์ผ๋ฉด ๋ชจ๋ ๋ฐฐ์ด์ ๋์์ ๊ฐ์ด ๋ฐ๋๊ฒ ๋๋ค! โ
โ 21665 ะะธัะฐ ะธ ะฝะตะณะฐัะธะฒ โ
m,n=map(int,input().split())
f = [[0]*n for _ in range(m)]
l = [[0]*n for _ in range(m)]
for i in range(m):
row = list(input())
for j in range(n):
f[i][j] = row[j]
input()
for i in range(m):
row = list(input())
for j in range(n):
l[i][j] = row[j]
cnt = 0
for i in range(m):
for j in range(n):
if f[i][j] == l[i][j]:
cnt += 1
print(cnt)
โ 2738 ํ๋ ฌ ๋ง์ โ
N,M = map(int,input().split())
array1,array2=[],[]
for _ in range(N):
array1.append(list(map(int, input().split())))
for _ in range(N):
array2.append(list(map(int, input().split())))
for i in range(N):
for j in range(M):
print(array1[i][j] + array2[i][j], end=' ')
print('')
→ ํ๋ ฌ์ 2์ฐจ์ list์ ํํ๋ก ํํํ ์ ์์ผ๋ฏ๋ก, ๋ ๊ฐ์ ํ๋ ฌ ๊ฐ๊ฐ for๋ฌธ์ ๋๋ ค ํ๋ ฌ ๋ ๊ฐ๋ฅผ ์์ฑํ๋ค. ํ๋ ฌ์ ๊ฐ๊ฐ ์์ฑํ ๋ ํ row๋น list์ ํํ๋ก ์ง์ด๋ฃ์. ์์ ๋ฅผ ์ง์ด๋ฃ์์ ๋ 2์ฐจ์ ํ๋ ฌ์ด 2์ฐจ์ list๋ก ํํ๋๋ค๋ฉด ์๋์ ๊ฐ๋ค
#[[1, 1, 1], [2, 2, 2], [0, 1, 0]] [[3, 3, 3], [4, 4, 4], [5, 5, 100]]
โ 2775 ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ โ
neighbors = [[0]*14 for _ in range(15)]
for i in range(14):
neighbors[0][i] = i+1
for i in range(15):
neighbors[i][0] = 1
for ho_index in range(1,14):
for floor_index in range(1,15): #๋จผ์ ๋์ผ floor์์ ์ญ!
neighbors[floor_index][ho_index] = neighbors[floor_index-1][ho_index] + neighbors[floor_index][ho_index-1]
T = int(input())
for _ in range(T):
k = int(input())
n = int(input())
print(neighbors[k][n-1])
๐ฅฝ ์ธต์๋ 15๊ฐ(0์ธต~14์ธต), ๊ทธ๋ฆฌ๊ณ ํธ์๋ 14๊ฐ(1ํธ~14ํธ) → ์ํํธ ๊ตฌ์กฐ์ ๋ง๊ฒ ๊ฐ ์ธต์ row, ๊ฐ ํธ๋ฅผ column์ธ 2์ฐจ์ list์ ํํ๋ก ์ ์ธ /0์ธต์ iํธ์ i๋ช ๊ฑฐ์ฃผํ๋ฏ๋ก for๋ฌธ ๋๋ฆผ & ๊ฐ ์ธต์ 1ํธ๋ ๊ณ์ฝ์กฐํญ์ ์ํด ๋ชจ๋ 1๋ช ์ฉ ๊ฑฐ์ฃผ
๐ฅฝ ๊ณ์ฝ์กฐํญ = 'a์ธต์ bํธ ๊ฑฐ์ฃผ์ ์ = (a-1)์ธต์ 1ํธ ~ bํธ ๊ฑฐ์ฃผ์ ์์ ํฉ'
→ ๋ค๋ฅด๊ฒ ํ์ด๋ณด์๋ฉด, 'a์ธต์ bํธ ๊ฑฐ์ฃผ์ ์ = a์ธต์ (b-1)ํธ ๊ฑฐ์ฃผ์ ์ + (a-1)์ธต์ bํธ ๊ฑฐ์ฃผ์ ์ '
→ ๋ฐ๋ผ์ ์ ์์ ์ํด 2์ค for loop์ ์ญ ๋๋ฆฌ๋ฉด 2์ฐจ์ list๋ก ๊ฐ ์ธต๊ณผ ํธ์ ๊ฑฐ์ฃผ์ ์๊ฐ ๋ค์ด๊ฐ ํํ๋ก ์์ฑ!
โ 14652 ๋๋ ํ๋ณตํฉ๋๋ค โ
→ ์ ๊ทธ๋ฆผ์์ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด, ์ผ์ชฝ ์๋ถํฐ (0,0)์ด ์์๋๊ณ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ์๋ก y๊ฐ์ด ์ฆ๊ฐ, ์๋๋ก ๊ฐ์๋ก x๊ฐ์ด ์ฆ๊ฐํ๋ค.
→ ๋ฌธ์ ์ํฉ์ ์ํด x๊ฐ์ K๋ฅผ M์ผ๋ก ๋๋ ๋ชซ, y๋ ๋๋จธ์ง
N,M,K = map(int, input().split())
print(K//M, K%M)
โ 27239 ะจะฐั ะผะฐัะฝะฐั ะดะพัะบะฐ โ
import math
chess=[]
for i in range(8,0,-1):
start=i*8
chess.append([i for i in range(start-7,start+1)])
N=int(input())
s='habcdefg'
print(s[N%8]+str(math.ceil(N/8)))
๐ฅฝ ๋จผ์ ์ฃผ์ด์ง ๋๋ก ์ ์ฒด์คํ 2์ฐจ์ ๋ฐฐ์ด์ list ์ค์ฒฉ์ผ๋ก ๋ง๋ ๋ค, chessํ ํน์ฑ์ ๋ง๊ฒ ๋ฌธ์์ด indexing + ceil ํจ์ ๊ณ์ฐ์ผ๋ก ์ถ๋ ฅ
โ 2566 ์ต๋๊ฐ โ
l=[]
x=[]
for _ in range(9):
k=list(map(int,input().split()))
l.append(k)
x.append(max(k))
max_l = max(x)
print(max_l)
a,b=0,0
for i in l:
a+=1
b=0
for j in i:
b+=1
if max_l == j:
print(a,b)
๐ฅฝ 2์ฐจ์ ๋ฐฐ์ด ๋ง๋ค๊ณ , ๊ทธ ์ค ์ต๋๊ฐ์ for loop์ ๋๋ฉด์ ํ์ธํ ๋ค, col, row ๋ฒํธ ์ถ๋ ฅ!
โ 2445 ๋ณ ์ฐ๊ธฐ - 8 โ
N=int(input())
for i in range(1,2*N):
print('*'*min(i,2*N-i)+' '*(2*N-2*min(i,2*N-i))+'*'*min(i,2*N-i))
๐จ๐ฌ ๊ฐ ์ค์ ์ฒซ๋ฒ์งธ ๋ณ + ๋น์นธ + ๋๋ฒ์งธ ๋ณ ์ด๋ ๊ฒ ํฌ๊ฒ ์ธ ํํธ๋ก ๋๋๊ณ , 1๋ถํฐ N๊น์ง ์ฐจ๋ก๋๋ก ๊ฐ ์ค์์์ ์์ด ๊ท์น์ ์ธ์ด๋ค.
→ x๋ฒ์งธ ์ค์ด๋ผ๋ฉด ์ฒซ๋ฒ์งธ ๋ณ์ ๊ฐ์๋ min(x, 2*N-x) / ๋๋ฒ์งธ ๋น์นธ์ ๊ฐ์๋ 2*N-2*min(i,2*N-i) / ์ธ๋ฒ์งธ ๋น์นธ์ ๊ฐ์๋ min(i,2*N-i)
โ 2446 ๋ณ ์ฐ๊ธฐ - 9 โ
N=int(input())
for i in range(1,2*N):print(' '*(min(i,2*N-i)-1)+'*'*(1+2*(N-min(2*N-i,i))))
๐จ๐ฌ i๋ฒ์งธ ์ค์ด๋ผ๋ฉด ์ฒซ๋ฒ์งธ ๋น์นธ์ ๊ฐ์๋ min(i,2*N-i)-1 / ๋๋ฒ์งธ ๋ณ์ ๊ฐ์๋ 1+2*(N-min(2*N-i,i))
โ 2522 ๋ณ ์ฐ๊ธฐ - 12 โ
N=int(input())
for i in range(1,2*N):
print(' '*(N-min(i,2*N-i))+'*'*(min(i,2*N-i)))
๐จ๐ฌ *์ ๊ฐ์๋ min(i,2*N-i), ๋น์นธ์ ๊ฐ์๋ ์ ์ฒด N์์ ํด๋น *์ ๊ฐ์๋ฅผ ๋บ ์๋งํผ ๋น์นธ์ ์ผ์ชฝ๋ถํฐ ์ฑ์์ฃผ๋ฉด ๋๋ค!
โ 24408 Mult! โ
start=0
for _ in range(int(input())):
n=int(input())
if start==0:
divided=n
start+=1
continue
if n%divided==0:
start=0
print(n)
๐จ๐ฌ start flag ๋ณ์์ ๋ง๊ฒ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด ์ถ๋ ฅํ๊ฒ ํ๋ค.
โ 12790 Mini Fantasy War โ
for _ in range(int(input())):
a,b,c,d,e,f,g,h=map(int,input().split())
l=[a+e,b+f,c+g,d+h]
for i in range(4):
if i in [0,1] and l[i] <1:
l[i]=1
elif i ==2 and l[i] < 0:
l[i]=0
print(l[0]+5*l[1]+2*(l[2]+l[3]))
โ 2523 ๋ณ ์ฐ๊ธฐ - 13 โ
N=int(input())
cnt=0
for i in range(1,2*N):
if i>N:cnt-=1
else:cnt+=1
print('*'*cnt)
โ 26772 Poziome serca โ
a=''' @@@ @@@
@ @ @ @
@ @ @
@ @
@ @
@ @
@ @
@ @
@ '''
n=int(input())
for i in a.split('\n'):
print(i*n)
โ 2506 ์ ์๊ณ์ฐ โ
N=int(input())
l=map(int,input().split())
cnt,res=0,0
for i in l:
if i:
cnt+=1
res+=cnt
else:
cnt=0
print(res)
โ 5692 ํฉํ ๋ฆฌ์ผ ์ง๋ฒ โ
import sys
input=sys.stdin.readline
def fac(n):
k=1
for i in range(1,n+1):
k*=i
return k
while 1:
n=int(input())
if n==0: break
ans=0
j=1
for i in str(n)[::-1]:
ans+=int(i)*(fac(j))
j+=1
print(ans)
๐จ๐ฌ ํฉํ ๋ฆฌ์ผ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌํ! ์ด ๋, ์๋ฆฌ์๊ฐ ์ฌ๋ผ๊ฐ ๋๋ง๋ค ํฉํ ๋ฆฌ์ผ N๊ฐ์ด 1์ฉ ์ฆ๊ฐํ๋ฏ๋ก +=1์ ์ฌ์ฉํด ๊ฒฐ๊ณผ ๋ณ์์ ๊ณ์ add up
โ 5613 ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ โ
total=0
before=0
while 1:
x=input()
if x=='=':
print(total)
break
if x.isdigit():
if before=='+' or before==0:
total+=int(x)
elif before=='-':
total-=int(x)
elif before=='*':
total*=int(x)
else:
total//=int(x)
else:
before=x
๐จ๐ฌ =์ผ ๊ฒฝ์ฐ ๋ฐ๋ก total์ print, ์ซ์๋ก ์ด๋ฃจ์ด์ง๋ฉด(isdigit()) ์์ ๊ฒฐ๊ณผ before์ ๋ฐ๋ผ ์ฐ์ฐ ์งํ / ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด before์ ์ฐ์ฐ์ข ๋ฅ ๋ฃ์!
โ 10810 ๊ณต ๋ฃ๊ธฐ โ
import sys
input=sys.stdin.readline
N,M=map(int,input().split())
arr=[0]*N
for _ in range(M):
i,j,k=map(int,input().split())
for x in range(i-1,j):
arr[x] = k
print(*arr)
๐จ๐ฌ ํ์ด์ฌ ๋ฐฐ์ด์ list๋ก ๊ตฌํ๋๊ณ , ๊บผ๋ด๋ ์ฐ์ฐ์ ํ์์์ด ๋จ์ํ = ์ฐ์ฐ์๋ก ๋ฃ๊ธฐ๋ง ํ๋ฉด ๊ธฐ์กด ๋ด์ฉ์ ์ฌ๋ผ์ง๊ณ ์๋ก์ด ๋ด์ฉ์ด ๋ค์ด๊ฐ๋ค.
โ 16175 General Election โ
import sys
input=sys.stdin.readline
for _ in range(int(input())):
N,M=map(int,input().split())
votes=[0]*N
for _ in range(M):
i=0
for vote in map(int,input().split()):
votes[i] += vote
i+=1
print(votes.index(max(votes))+1)
๐จ๐ฌ for๋ฌธ์ ์ฌ์ฉํด votes[i]์ ๋์ ์ผ๋ก ๊ฐ candidate๋ณ๋ก vote๋ฅผ ๋ํ๊ณ , ์ต์ข ์ ์ผ๋ก ์ต๋๊ฐ์ index+1์ธ candidate number ์ถ๋ ฅ!
โ 10990 ๋ณ ์ฐ๊ธฐ - 15 โ
N=int(input())
print(' '*(N-1)+'*')
for i in range(2,N+1):
print(' '*(N-i)+'*'+' '*abs(2*(i-1)-1)+'*')
โ 25527 Counting Peaks of Infection โ
import sys
input=sys.stdin.readline
while 1:
n=int(input())
if n==0: break
ans=0
v_list = list(map(int,input().split()))
for i in range(1,n-1):
if v_list[i] > v_list[i-1] and v_list[i] > v_list[i+1]:
ans+=1
print(ans)
๐จ๐ฌ peak์ด๋ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์์๋ณด๋ค ํฐ ๊ฒฝ์ฐ๋ง ์นด์ดํธํ๋ฉด ๋๋ค.
โ 10811 ๋ฐ๊ตฌ๋ ๋ค์ง๊ธฐ โ
N,M=map(int,input().split())
arr = [i for i in range(1,N+1)]
for _ in range(M):
start,end=map(int,input().split())
if (start-2)<0:
arr[start-1:end] = arr[end-1::-1]
else:
arr[start-1:end] = arr[end-1:start-2:-1]
print(*arr)
โ 1110 ๋ํ๊ธฐ ์ฌ์ดํด โ
cnt=0
N=int(input())
bf=N
while 1:
if len(str(bf))==1:
bf=int('0'+str(bf))
total=0
for x in str(bf):
total+=int(x)
nf=int(str(bf)[-1]+str(total)[-1])
cnt+=1
if N==nf:
print(cnt)
break
else:
bf=nf
โ 1547 ๊ณต โ
import sys
input=sys.stdin.readline
M=int(input())
cups=[1,2,3]
for _ in range(M):
x,y=map(int,input().split())
xi,yi=cups.index(x),cups.index(y)
cups[xi],cups[yi]=cups[yi],cups[xi]
print(cups[0])
โ 10708 ํฌ๋ฆฌ์ค๋ง์ค ํํฐ โ
import sys
input=sys.stdin.readline
N=int(input())
M=int(input())
targets=list(map(int,input().split()))
friends=[0]*N
for i in range(M):
target=targets[i]
pred=list(map(int,input().split()))
cnt=0
for p in range(len(pred)):
if pred[p] == target:
friends[p] += 1
else: cnt+=1
friends[target-1]+=cnt
print(*friends,sep='\n')
โ 14174 Block Game โ
import sys
input=sys.stdin.readline
from collections import Counter
N=int(input())
ans=[0]*26
for _ in range(N):
a,b=input().strip().split(' ')
x=Counter(a)
y=Counter(b)
for z in y.keys():
if z in x:
if x[z]<y[z]:
x[z]=y[z]
else:
x[z]=y[z]
for k in x:
ans[ord(k)-97]+=x[k]
print(*ans,sep='\n')
๐จ๐ฌ ๋ board๋ฅผ ํฉ์ณ ๊ฐ ์ํ๋ฒณ ๋น๋์ ์ต๋๊ฐ๋งํผ ์ ๋ฐ์ดํธ
'BOJ > ๐ฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
โ Math Beginner III - 30 Solvedโ (1) | 2022.11.18 |
---|---|
โ Sorting Upper-Beginner I - 8 Solvedโ (0) | 2022.11.14 |
โ Implementation Beginner III - 41 Solvedโ (0) | 2022.10.28 |
โ Basics III - 40 Solvedโ (0) | 2022.10.21 |
โ ์ ๋ฐ๋ ์ฐ์ฐ - 1๋ฌธ์ () โ (1) | 2022.10.20 |
๋๊ธ