BOJ 1759. 암호만들기입력을 사전 순으로 정렬하기 위해 Arrays.sort()를 사용했다.조합을 이용하여 dfs() + 백트래킹을 구현했다.cnt==C라는 기저조건을 만족했을 때 최소 모음과 자음의 개수를 체크하고 만족했을 때 결과를 출력하도록 했다.
BOJ 1003. 피보나치 함수bottom-up과 top-down 두 가지 방식으로 풀었다.시간 제한이 0.25초였기 때문에 BufferedReader와 StringBuilder를 사용했다.처음에 bottom-up으로 풀 때는 조금 비효율적인 방법으로 풀은 것 같았다.
BOJ 9184. 신나는 함수 실행문제는 신이 난다고 하지만 정작 문제를 풀어야하는 나는 신나지 않은 문제..피보나치 함수를 풀 때 처럼 효율을 고려하여 BufferedReader + StringBuilder로 풀었지만 Scanner나 sysout을 사용해도 풀리긴한다
BOJ 2667. 단지번호붙이기그래프 이론을 이용한 문제.dfs와 bfs 중 bfs를 사용하여 풀었다.집이 존재하는 경우에 arraylist에 넣고 list의 크기만큼 반복문으로 돌렸다.해당 위치의 값이 아직 1이고 방문하지 않은 곳이라면 단지 번호가 붙여지지 않은 집
BOJ 1753. 최단경로다익스트라 알고리즘을 사용하여 풀 수 있는 문제.인접리스트를 사용하여 다익스트라를 구현했다.과거에 풀었던 알고리즘은 인접리스트와 인접배열을 혼합하여 풀었었는데 이번에는 인접리스트만을 사용하여 풀어보았다. 다익스트라 알고리즘은 주어진 그래프에서
BOJ 1504. 특정한 최단경로
개인적으로 DP 로직 구현보다 배열 관리에서 더 헤맸던 문제...처음에 설계를 좀 더 구체적으로 했어야 했는데 그러지 않고 풀어서 그랬던 것 같다ㅜfor문을 이용해서 bottom-up 방식으로 구현했다!해당 그림처럼 i행 마다 i+2의 배열 크기를 할당해주었다.for(
BOJ 5430. AC처음에는 배열을 사용해서 풀려고 했는데 시간을 생각해보니 무조건 터질거 같았다,, 스트링으로 들어오는 배열 입력을 substring과 split을 사용해서 파싱 후 스트링 배열에 담고 deque에는 integer 형태로 변환해서 삽입했다.함수 R이
BOJ 1213. 팰린드롬 만들기
BOJ 1197. 최소 스패닝 트리최소 스패닝 트리의 문제로 프림 알고리즘을 사용하여 풀었다. 추후에 크루스칼 알고리즘으로도 풀어볼 예정!MST 학습용 문제나 다름없었고 최소값 result을 long형 변수로 둔다는 것 외에 특이점은 없었다.
BOJ 11503. 가장 긴 증가하는 부분 수열
BOJ 1697. 숨바꼭질최소 시간을 묻는 문제이므로 그래프 중 bfs를 사용했다.이미 방문한 곳이면 재방문 할 필요는 없기 때문에 visited로 방문여부를 체크해주었고 Point클래스로 위치와 시간을 동시에 관리했다. Queue는 선입선출이니까 먼저 도착한 애가 가
BOJ 3190. 뱀덱을 이용해서 풀 수 있는 시뮬레이션 문제.뱀의 몸의 좌표를 담아주는 Deque<.Point>사과의 위치(1)와 뱀의 몸(2), 빈 공간(0)을 담는 int map방향 전환을 담아주는 char\[] change를 사용했다.뱀의 머리 좌표에 di
BOJ 1012. 유기농 배추배추들의 위치를 담는 ArrayList를 사용하여 리스트에 담긴 배추들이 방문되지 않은 상태라면 bfs 함수를 호출했다. 인접한 배추를 사방탐색하고 방문하지 않았거나 범위가 벗어나지 않는다면 queue에 추가한다. queue가 비었다면 더이
BOJ 1717. 집합의 표현서로 중복 포함된 원소가 없는 집합들. 즉, 교집합이 없다.집합에 속한 하나의 특정 멤버(대표자)를 통해 각 집합들을 구분Make-Set(x)Find-Set(x)Union(x,y)union-find 알고리즘을 사용해서 푸는 문제로 0이 입력
BOJ 16967. 배열 복원하기배열을 이용한 구현 문제!배열 A만을 탐색하면서 if(i-X>=0&&j-Y>=0) 즉, 현재 i,j의 위치가 X또는 Y 만큼 이동한 위치와 겹친다면? Bi의 값에서 Ai-X의 값을 빼주고 이를 Ai에 대입해주었다.만약 해당 조건에 포함되
BOJ 18428. 감시 피하기
BOJ1931\_회의실배정최적해를 구하는 데 사용되는 근시안적인 방법최적화 문제(optimization) : 가능한 해들 중에서 가장 좋은(최대 or 최소) 해를 찾는 문제여러 경우 중 하나를 선택할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식한 번