일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 대학원
- 대학원일기
- Github
- 컨트리뷰톤
- SWEA
- build
- LEVEL2
- D3
- 어렵다
- SQL
- java
- BFS
- 안드로이드스튜디오
- 휴학
- 자바
- 다시풀기
- WebOS
- git
- py
- 내휴학생활중의아주큰일
- Python
- 프로그래머스
- androidstudio
- level3
- MSBuild
- Matrix Factorization
- level1
- 파이썬
- level4
- 컴퓨터비전
Archives
- Today
- Total
bit가 눈 앞에서 왔다갔다
Py) 프로그래머스 49190 방의 개수 본문
https://programmers.co.kr/learn/courses/30/lessons/49190
*틀린 코드
def solution(arrows):
answer = 0
coordinate = set() # 지나간 좌표 확인용
loc = [0,0] # x, y
for direc in arrows:
loc=list(loc)
if direc == 0:
loc[1] += 1
elif direc == 1:
loc[0] += 1
loc[1] += 1
elif direc == 2:
loc[0] += 1
elif direc == 3:
loc[0] += 1
loc[1] -= 1
elif direc == 4:
loc[1] -= 1
elif direc == 5:
loc[0] -= 1
loc[1] -= 1
elif direc == 6:
loc[0] -= 1
else:
loc[0]-=1
loc[1]+=1
loc = tuple(loc)
if loc in coordinate:
answer += 1
coordinate.add(loc)
return answer
print(solution([6, 6, 6, 4, 4, 4, 2, 2, 2, 0, 0, 0, 1, 6, 5, 5, 3, 6, 0]))
*정답 코드
from collections import defaultdict, deque
def solution(arrows):
answer = 0
visit = defaultdict(int) # 방문확인
visit_loc = defaultdict(int) # 노드 확인
directions = [(0,1), (1,1), (1,0), (1,-1), (0,-1), (-1,-1), (-1,0), (-1,1)]
loc = (0,0)
deq = deque([loc]) # 현 위치
for direc in arrows:
for _ in range(2):
next = (loc[0]+directions[direc][0], loc[1]+directions[direc][1])
deq.append(next)
loc = next
now = deq.popleft()
room = 0
visit[now] = 1
while deq:
next = deq.popleft()
if visit[next] == 1:
if visit_loc[(next, now)] == 0:
room += 1
else:
visit[next] = 1
visit_loc[(now, next)] = 1
visit_loc[(next,now)] = 1
now = next
answer = room
return answer
print(solution([6, 6, 6, 4, 4, 4, 2, 2, 2, 0, 0, 0, 1, 6, 5, 5, 3, 6, 0]))
*
집합 자료형은 인덱스로 접근이 불가하다.
리스트 형식의 원소는 가질 수 없음 ex) dic.add([1,1])
{}라고 선언해주면 add가 안되는데 set()라고 선언해주면 됨
#
프로그래머스 연습문제를 다 풀었다.
다시 풀려고 일부러 코드 제출 안 해놓은 애들 3개만 하면 완성됨~
공부를 어떻게 해야 하는 고민 + 나 왜 이렇게 못함ㅠ 하는 자책도 있었지만 어찌어찌 다 풀었다.
크흡.. 수고했다 나 자신..
반응형
'Algorithm > Prob' 카테고리의 다른 글
Py) 프로그래머스 42888 오픈채팅방 (0) | 2022.02.23 |
---|---|
SQL) 프로그래머스 59042 없어진 기록 찾기 (0) | 2022.02.22 |
Py) 프로그래머스 42897 도둑질 (0) | 2022.02.18 |
Py) 프로그래머스 42884 단속카메라 (0) | 2022.02.17 |
Py) 프로그래머스 42628 이중우선순위큐 (0) | 2022.02.15 |
Comments