🚩 브루트포스 완전탐색 문제 thinking 3개를 골라야 하므로 3중 for문을 돌면서 첫번째 카드 뽑고, 그 이후 카드들 중에서 두번째 카드 뽑고, 두번째카드 이후 카드들 중에서 마지막 카드를 뽑아 M보다 작거나 같으면 리스트에 넣는다. 그 리스트의 원소 중 max 값을 뽑으면 된다. 코드 N, M = map(int, input().split()) card = list(map(int, input().split())) res = 0 # 결과값 초기화 # for 문 돌면서 비교검사 for i in range(N): for j in range(i+1, N): for k in range(j+1, N): if card[i]+card[j]+card[k]
Intro 💡 2차원 배열의 인덱스 접근을 어떻게 할것인가? 아래 그림처럼 m x n 배열을 생각해보자. 배열의 인덱스는 오른쪽으로 갈 수록, 아래로 갈 수록 증가하기 때문에 다음과 같이 쓸 수 있다. 노랭이를 기준으로 봤을 때, 노랭이의 위 아래는 노랭이와 column 인덱스가 동일하고 row 인덱스는 하나씩 차이난다. 노랭이의 좌우는 노랭이와 row 인덱스가 동일하고 column 인덱스는 하나씩 차이난다. 따라서, 인덱스를 활용해서 방향전환을 하고 싶을때는 delta row(dr), delta column(dc) 리스트를 만들고 접근하면 된다 # 상, 우, 하, 좌 dr = [-1, 0, 1, 0] dc = [0, 1, 0, -1] # nr: next row, nc: next column # cr: ..
thinking 도착점의 column 인덱스를 찾아서 역으로 위로 올라가면서 시작점의 column 인덱스를 찾는 방향으로 설정 1. 위로 가는 경우: 왼쪽이나 오른쪽이 1이 나오면 direction 체인지 2. 오른쪽으로 가는 경우: 쭉 가다가 0 나오면 위로 턴 (d: 1 -> 0) 3. 왼쪽으로 가는 경우: 쭉 가다가 0 나오면 위로 턴 (d: 2 -> 0) 반복문을 돌리면서 이동해야 하는데 코드를 도대체 어케 짜야 하는지 감이 안왔다...... 그래서 아래 처럼 그림판으로 일일이 좌표를 찾으며 디버깅을 했다 ^^ 100 x 100 배열이라 눈알 빠질뻔 ㅎ;; 답답하고 멍청해보일지라도 이해에 아주 직빵이었다 ㅎ 위로 쭉 갈때는 column은 동일하고 row만 바뀐다. 이때, 왼쪽이나 오른쪽이 1이면 ..
- 2579 계단오르기
- 보석쇼핑
- 파이썬
- 프로그래머스
- BFS
- 영어끝말잇기
- 기지국설치
- merge 에러
- swea
- 삼성기출
- Python
- 21609 상어 중학교
- git 미러링
- 브루트포스
- 20057 마법사 상어와 토네이도
- merge에러
- dfs
- 알고리즘
- dp
- react
- 20056 마법사 상어와 파이어볼
- 백준
- 17406 배열돌리기4
- 2018 카카오 공채
- 삼성코테
- Total
- Today
- Yesterday