์๊ฐ์ ํ1 ์ด ๋ฐ์ดํฐ :100๋ง๊ฐ => O ( n log n)
p.96 ์ซ์์นด๋๊ฒ์
๋ดํ์ด
ํ์ด์๊ฐ | ์๊ฐ๋ณต์ก๋ |
20m | O(N log N) |
def solution ():
n,m = map(int,input().split())
for i in range(n):
matrix.append(min(list(map(int, input().split()))))
print(max(matrix))
result= 0
solution()
๋ฐฐ์ด์
๋ต์ ํ๋ณด๋ค์ ๋ฐฐ์ด์ ๋ฃ์ง ๋ง๊ณ ๊ทธ๋ฅ ๋๊ฐ์ง ๊ฐ์ ๋ฐ๋ก max๋ก ๋น๊ตํ๋ ๊ฒ์ด ๋ ์ข๋ค
result = 0
for i in arr:
result = max(i,result)
p.100 ์ซ์์นด๋
ํ์ด์๊ฐ | ์๊ฐ๋ณต์ก๋ |
20m | O(N log N) |
๋ด ์ฝ๋
def solution():
n,k = map(int,input().split())
cnt=0
while n!=1:
if n%k ==0:
n = n/k
cnt+=1
else:
n-=1
cnt+=1
print(cnt)
solution()
๋ฐฐ์ด์
์์ธ์ ๋ํ ์๊ฐ์ ํญ์ ํด์ผํ๋ค.
๊ตฌํ - p.110 ์ํ์ข์ฐ
ํ์ด์๊ฐ | ์๊ฐ๋ณต์ก๋ |
12m | O(N^2) |
๋ด ํ์ด
def solution ():
n = int(input())
go = input().split()
loc = [1,1]
for i in go:
if i == 'R':
if loc[1]+1<=n:
loc[1]+=1
elif i == 'L':
if loc[1]-1>1:
loc[1]-=1
elif i == 'U':
if loc[0]-1>1:
loc[0]-=1
else:
if loc[0]+1<n:
loc[0]+=1
print(" ".join(map(str,loc)))
solution()
๋ฐฐ์ด์
์ ๋ ฅ์ ์ซ์๋ก ๋ณ๊ฒฝํ ๊ฒ ์๋๋ฉด map์ ํ์ง ์์๋ ๋๋ค
๋ฐฐ์ด์ ๋ชจ์
๋ฌธ์์ด์ด ์์๋๋ก ์ฃผ์ด์ง๊ณ ๊ทธ ์์๋ฅผ ์ด์ฉํด์ผ ํ ๋
ord๋ฅผ ์ด์ฉํ๊ณ ์ฒซ๋ฒ์งธ ๊ฐ์ ๋นผ๋ฒ๋ฆฌ๋ฉด ์์๊ฐ ๋์จ๋ค
input = 'b'
step = ['a','b','c']
ord(input)- ord(step[0]) // 1 ์ธ๋ฑ์ค๊ฐ ๋์ด
๊ตฌํ - p.118 ๊ฒ์ ๊ฐ๋ฐ
ํ์ด์๊ฐ | ์๊ฐ๋ณต์ก๋ |
2h | O(N^3)? |
def solution():
n,m = map(int,input().split())
x,y,v = map(int,input().split())
#์ง๋์จ ๊ธฐ๋ก
d = [[0]*m for _ in range(n)]
direction = [[-1,0],[0,1],[1,0],[0,-1]]
d[x][y]=1
arr=[]
#์ง๋๋ฐฐ์ด๋ฐ๊ธฐ
for i in range(n):
temp = list(map(int,input().split()))
arr.append(temp)
cnt=0
ans=1
#์ผ์ชฝ์ผ๋ก ๋๋ ๋์
def turnLeft(v):
v-=1
if v == -1:
v =3
return v
while True:
v=turnLeft(v)
addX,addY = direction[v]
newX,newY = x+addX, y+addY
if arr[newX][newY] ==0 and d[newX][newY]==0:
d[newX][newY]=1
x,y = newX,newY
cnt=0
ans+=1
continue
else:
cnt+=1
if cnt==4:
backX,backY =direction[v]
newX,newY = x-backX, y-backY
if arr[newX][newY] == 0:
x,y = newX,newY
else:
break
cnt=0
print(ans)
solution()
๋ณต์กํ ๋ฌธ์ ๋ผ ์ค๋ ๊ฑธ๋ ธ๋ค.
์ฐจ๋ถํ ์๊ฐํ๋ฉด ํ ์์๋ ๋ฌธ์ ์์ง๋ง ์ง์ค์ ํ์ง ๋ชปํด์ ์ค๋๊ฑธ๋ ธ๋ค.
๋ฐฐ์ด ์ด๊ธฐํ ํ๋๋ฒ๊ณผ , ์์น๋ฅผ ์์ง์ด๋ ๊ฒ์ d๋ก ์ผ์ด์ค๋ฅผ ์ ํด์ผ ํจ์ ๊นจ๋ฌ์๋ค.
์ง๋๋ฐ ๋ค์ ์ง๋๊ธฐ ๊ธ์ง = ๋๊ฐ์ ๋ฐฐ์ด ๋ง๋ค์ด์ ํ์ ํ์
์์น ๊ฐ ์์ง์ธ๋ ๊ฒ = dx,dy ,direction ๋ฑ์ ๋ง๋ค์ด์ case๋ณ๋ก ์๊ฐํด๋ด๊ธฐ
'๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์ฝ๋ค] ๊ธฐ์ถ๋ฌธ์ - ๊ทธ๋ฆฌ๋ (0) | 2021.08.25 |
---|---|
[์ด์ฝ๋ค] ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ (0) | 2021.08.23 |
[์ด์ฝ๋ค] ์ ๋ ฌ & ์ด์งํ์ ์ค์ ๋ฌธ์ (0) | 2021.07.28 |
[codility] Lesson 4) FrogRiverOne MaxCounter (0) | 2021.07.10 |
[codility] Lv2- OddOccurrencesInArray,Lv3-TapeEquilibrium ,TapeEquilibrium (0) | 2021.06.21 |
๋๊ธ