일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- BFS
- 스프링
- baekjoon
- 알고리즘
- 코틀린
- TDD
- 네트워크
- lambda
- DFS
- java
- back-end
- 그래프
- 백준
- 백트래킹
- LEVEL2
- 자료구조
- Brute-force
- Spring
- algorithm
- Java8
- OS
- 모던자바
- 프로그래머스
- DP
- 자바
- programmers
- 운영체제
- backtracking
- 프로젝트
- kotlin
- Today
- Total
목록알고리즘(Java)/Simulation (2)
요깨비's LAB
1. 아이디어 원형 큐가 떠올라 자바의 LinkedList를 기본적으로 이용하기로 하였습니다. 그다음 값을 꺼낼때 인덱스는 항상 0(큐 이므로)으로 0을 기준으로 왼쪽으로 탐색하여 해당 값을 발견했을때의 count와 오른쪽으로 탐색하여 해당 값을 발견했을때의 count를 비교하여 작은 쪽으로 연산을 진행하여 (1번 혹은 2번) 연산을 수행한다음 값을 꺼내는 방식으로 구현하였습니다. 단, 0이 찾는 값이 바로 있으면 count는 0!! 그리고 왼쪽 방향으로 값을 찾는 연산은 리스트의 마지막 인덱스 ~ 1 까지 연산을 수행하지만 우선적으로 0번째에서 값을 확인하기 때문에 0번째에 값이 없다면 왼쪽 연산과 달리 count=1로 초기화 해주어야 합니다. 아래는 코드입니다. import java.util.Link..
체스판이라는 것을 명심하고 풀이에 들어가야 합니다. 상하좌우 색깔이 서로 달라야 합니다. 단순하게 한줄에 최적의 경우만 찾아서는 안됩니다. 1. 우선 주어진 맵에서 X = 0번째에서 주어진 M 크기 - 8, Y = 0번째에서 주어진 N크기 - 8의 기준을 주어 8*8의 맵을 가져옵니다. 2. y = 0~6(현재위치 ?= 현재위치 + 1) , x = 0으로 먼저 흰/검 값을 정한 뒤에(흰색 시작, 검정색 시작 두가지) y= 0~7번째 마다 map[y][0], map[y][1] .... map[y][6]으로 x에 대한 흰/검 값들을 정해주면서 map[y][x] == map[y][x+1]이면 count 값을 증가 시키고 map[y][x+1]의 값을 바꿔줍니다. 3. 해당 로직을 마치고 이전 값보다 최소값이면 ..