본문 바로가기

구현6

[백준 14500] 테트로미노 / 자바 / DFS + 구현 문제         레벨: G4알고리즘: DFS + 구현 풀이시간: 1시간 힌트 참조 유무: 유 https://www.acmicpc.net/problem/145001 번째 시도   [알고리즘 설명] 4방향 depth 4로 dfs를 해보면 'ㅜ' 모양 빼고 다 만들 수 있다.'ㅜ' 모양을 만들려면 depth가 2일 때, 즉 'ㅜ'의 중앙일 때 그 위치에서 next로 넘어가지 않고, next의 값만 +해서 파라미터에 넘겨줘 재귀를 한다. 그렇다면 dpeth는 3이 됐는데 전이랑 위치가 변함이 없고 next의 값은 반영 되어있다. 실질적으로 한 칸 갔다 온 걸로 치는 것이다. dfs 구현은 꾸준히 연습해야겠다.import java.io.BufferedReader;import java.io.IOException.. 2024. 7. 3.
[백준 13458] 시험감독 / 자바 /그리드 문제         레벨: B2알고리즘: 구현 풀이시간: 10분힌트 참조 유무: 무https://www.acmicpc.net/problem/134581 번째 시도   삼성SW역량테스트인데도 말도 안되게 쉬워 푸는 내내 경계했다. 그러나 쉬운 문제가 맞았다. 단 주의해야 하는 건 입력값이다. 입력값의 최대값을 생각해보자.B =1, C= 1, 시험장의 개수 1,000,000 x 응시자수 1,000,000  = 1,000,000,000,000 1조이기 때문에 ans를 int형으로 쓰면 틀린다.import java.io.BufferedReader;import java.io.InputStreamReader;class Main { public static void main(String[] args) throw.. 2024. 7. 3.
[백준 3190] 뱀 / 자바 / 구현 문제         레벨: G5알고리즘: 구현 + 큐 풀이시간: 1:30힌트 참조 유무: 무https://www.acmicpc.net/problem/31901 번째 시도: 성공   [예제 그림]초에 해당하는 뱀의 머리 위치를 그림으로 그려봤다.x는 사과의 위치다.[알고리즘 설명]이 문제는 구현 문제이다.while 문 안에 있는 조건들을 어떻게 잘 구현했는지, 자료구조를 적절히 잘 사용했는지가 관건이다. 설명은 주석을 참조바란다. 뱀의 몸통을 담기 위해 snake큐명령을 담기 위한 moves큐  문제를 다 풀고 나서 한가지 생각해본 점은 명령을 담기 위한 자료구조를 큐 말고 HashMap을 썼다면 ntdir,ntsec를 안썼어도 됐다는 거다. 변수가 줄어들수록 코드의 유지보수가 쉽다고 생각하기 때문에 다음.. 2024. 7. 3.
[백준 2263] 트리의 순회 / 자바 /분할정복 문제         레벨:  G1알고리즘: 분할정복 풀이시간: 11:23힌트 참조 유무: https://www.acmicpc.net/problem/2263 1 번째 시도   이 문제는 트리가 어떻게 생겼는지 주지 않았다. 그래서 포인트는 중위식에서 무엇을 알 수 있고 후위식에서 무엇을 얻을지 캐치하고 트리를 그려보는 것이다.트리가 이렇게 있다고 한다면,중위 : 4 2 5     1   6 3 7  후위: 4 5 2    6 7 3   1 이렇게 순회할 것이다.   이로서 우린 후위식에서 루트가 어떤 건지 알 수 있고 중위 식에서 루트를 기준으로 왼쪽 노드와 오른쪽 노드가 무엇인지 알 수 있다. +) 위 트리의 전위 : 1 2 4 5 3 6 7import java.io.BufferedReader;impor.. 2024. 7. 2.
[백준 2630] 색종이 만들기/ 자바 문제         레벨: S2알고리즘: 구현 + 분할정복풀이시간: 40분힌트 참조 유무: 무https://www.acmicpc.net/problem/2630 1 번째 시도   [알고리즘 설명]이 문제는 분할정복 + 구현의 대표적인 문제이다.직관적으로 나타나 있듯 4개로 나누어 탐색하여야 하고답을 체킹하는 방식 + 4개로 나누는 방식을 잘 구현해야 한다. 필자는 처음 구현할 때 다 나눈 후 답을 체킹하는 방식으로  구현하려고 했다.그러나 구현에 어려움을 겪어 , 답을 체킹하고 아니면 분할하는 방식으로 구현하였다. 나처럼 구현에 어려움을 겪는 분들은 이런 식으로 하면 좋을 것 같다.import java.io.BufferedReader;import java.io.InputStreamReader;import .. 2024. 7. 2.
[백준] 감시 / 자바 문제         레벨: G3알고리즘: 완전탐색 풀이시간:  1:30힌트 참조 유무: 무https://www.acmicpc.net/problem/156831 번째 시도: 실패   [알고리즘 선택 과정]각 cctv마다 방향 설정이 중요합니다그렇다면 각 cctv의 방향을 무슨 기준으로 놓아야 할까요주장: 각 CCTV마다 칸을 많이 차지하는 방향으로 반론: A가 칸이 많이 차지하는 방향, B가 칸이 많이 차지하는 방향으로 설정했는데 A,B가 겹치는 것이 많은 상황을 가장해보자.(주장 답안)0 0 #0 0 2(A)0 0 #0 0 2(B)0 0 #(정답 답안)0 0 0# # 2(A)0 0 0# # 2(B)0 0 0   그래서 이 주장은 옳지 않습니다. 패스그렇다면 완전탐색으로 각 CCTV의 모든 방향마다 확인해.. 2024. 5. 30.