thinking 1번방이나 2번방이나 복도 지나가는건 똑같아서 하나로 생각해줬다. 400개의 방이지만 200개의 방으로 생각해주고 지나갈 복도의 개수를 카운팅해준다. 구간이 겹치는 만큼 cnt 리스트의 요소 값이 커지므로 max 값을 출력하면 된다. 이때 포인트는 항상 작은 숫자 방에서 큰 숫자 방으로만 움직이는게 아니기 때문에 for문을 돌면서 카운팅을 해주려면 작은숫자방-큰숫자방 이렇게 먼저 바꿔주고 순회해야 한다. 코드 T = int(input()) for tc in range(1, T+1): N = int(input()) # 돌아가야할 학생수 room_lst = [list(map(int, input().split())) for _ in range(N)] # [[출발방, 도착방]] cnt = [0]..
문자열을 뒤집는 4가지 방법 ①거꾸로 읽어오는 법 ②swop ③reverse 함수 ④슬라이싱 연산 [::-1] 코드 ❕ 주의 ❕ 가로를 검사할 때는 슬라이싱이 가능하지만 세로 검사시에는 슬라이싱이 불가능하다 # 뒤에서 부터 읽어오면서 뒤집은 리스트 만드는 함수 def my_reverse(line): r_line = [] for i in range(len(line)-1, -1, -1): r_line.append(line[i]) return r_line # 회문 찾는 함수 def my_find(): for i in range(N): # 가로검사 for j in range(N-M+1): tmp = words[i][j:j+M] # 회문 검사 if tmp == my_reverse(tmp): return tmp #..
thinking 시작점과 끝점을 인덱스 로 접근했다 ! 중간지점(mid)까지 간격이 한칸씩 커지다, 중간지점 이후 한칸씩 작아지도록 코드를 구성했다. 코드 T = int(input()) for tc in range(1, T+1): N = int(input()) a = [list(map(int, input())) for _ in range(N)] ans = 0 # output 변수 # s: 시작포인트, e: 끝포인트 s, e = N // 2, N // 2 for i in range(N): for j in range(s, e+1): ans += a[i][j] # 행의 인덱스가 mid 전까지는 s-e 간격 늘리고 mid 이후로는 간격 줄임 if i < N // 2: s -= 1 e += 1 else: s +=..
thinking 행은 볼 필요없이 열만 차례대로 순회하며 1-2 의 순서이면 카운트를 해주는 방향으로 생각. 1-2 의 순서인지 어케 체크? -> stack에 넣었다 뺐다하며 확인 처음 1이 나오면 stack에 넣고, 스택에 1이 있는 상태에서 2가 나오면 pop해서 빈 스택을 만들어주고 교착상태 카운팅+1 해줌 이 과정을 행의 처음부터 끝까지 반복하기 위해 while r 빨강이 2: S극 성질-> 파랭이 cnt = 0 for j in range(N): # (0,j) 열..
thinking visited 라는 방문체크 리스트를 만들어주고 갈 수 있는 노드를 전부 방문하면서 99번에 도착하는지 확인한다. 코드 (인접리스트 ver) for tc in range(10): # t: 테스크케이스 번호, E: 간선의 개수(길의 개수) t, E = map(int, input().split()) edge_list = [[] for _ in range(100)] edge_input = list(map(int, input().split())) # 화살표 있으면 1로 변경 for i in range(E): start_node = edge_input[i * 2] end_node = edge_input[i * 2 + 1] edge_list[start_node].append(end_node) vis..
- BFS
- 파이썬
- 기지국설치
- 20057 마법사 상어와 토네이도
- 삼성코테
- 보석쇼핑
- dp
- 2018 카카오 공채
- swea
- 17406 배열돌리기4
- react
- 백준
- dfs
- 20056 마법사 상어와 파이어볼
- 영어끝말잇기
- 삼성기출
- 2579 계단오르기
- merge에러
- 21609 상어 중학교
- Python
- 브루트포스
- merge 에러
- 알고리즘
- 프로그래머스
- git 미러링
- Total
- Today
- Yesterday