본문 바로가기

algorithm53

[백준] 18809.Gaaaaaaaaaarden / BFS, 조합 @BFS, 조합 / 1h 16m (필기 12m, 디버깅 29m) 다 풀었는데 계속 틀리게 나와서 뭔가 했더니, 조건을 하나 빼먹었었다. 그런데 예전 풀이내역 보니 그때도 똑같이 이걸로 시간을 썼었음.. ㅜㅜ 같은 실수 반복하지 않기! 근데 골드 1 치고는 쉽다. 난이도가 조금 후하게 붙은 것 같기도.. 문제 링크 https://www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두 www.acmicpc.net 구현 방법 1. 값이 2인.. 2020. 9. 3.
[백준] 17142.연구소3 (java) / 조합, BFS @조합, BFS / 45m 이번이 3번째 풀이 무난한 문제인데, 조건 하나때문에 틀려서 다시 풀었다. 문제 링크 https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 세달 전에도 풀었던 문제인데, 그때도 삽질하고 지금도 삽질..ㅎㅎ 이전 풀이 https://buddev.tistory.com/34 [백준] 17142.연구소3 (java) / 백트래킹, DFS, BFS, 조합 @백트래킹, DFS, BFS, 조합 / 43m (필기 11분, 디버깅 8분 포함) 기본.. 2020. 5. 30.
[JAVA] 간단하게 진법변환하기, 숫자 reverse 간단한 진법 변환 코드입니다. 연습 겸 한번 짜본 내용입니다. 예시로 든 진법이 아니더라도 원하는 숫자로 바꾸시면 변환 가능합니다! 10진법 숫자를 2진법으로 변환 10진법 숫자 14를 2진법으로 바꾸면 1110이 됩니다. 식 값 나머지 14 / 2 7 0 7 / 2 3 1 3 / 2 1 1 1 / 2 0 1 주어진 값을 2로 나눈 나머지를 문자열에 더해갑니다. 이때 뒤에서부터 더해가야 하기에 새로 더해주는 값은 문자열의 앞에 더해줘야 합니다. int num = 14; String ans = "";//값을 더해주기 위한 빈 문자열 선언 while (num > 0) { ans = (num % 2) + ans;//문자열의 앞에 num을 2로 나눴을 때의 나머지를 더해준다. num /= 2;//다음 턴을 위해.. 2020. 5. 4.
[백준] 1806.부분합 (java) / 투포인터, 슬라이딩 윈도우 @투포인터, 슬라이딩 윈도우 / 14m 설마 진짜 이렇게 하면 풀리나 했는데 진짜였다. 투포인터 개념을 이 글을 보고 공부했는데, 이 방법으로 풀면 바로 풀 수 있다. 투 포인터(Two Pointers Algorithm), 슬라이딩 윈도우(Sliding Window) (수정: 2019-09-09) 조금 성향이 비슷하다고 생각하는 기법 2개를 함께 쓰려 합니다.첫 번째로 소개해드릴 기법은 투 포인터(tw... blog.naver.com 풀이는 이 글이 훨씬 잘 나와 있으므로 따로 적지 않았다. 문제 링크 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 .. 2020. 3. 14.
[백준] 2531/15961.회전초밥 (java) / 투포인터, 슬라이딩 윈도우 @투포인터, 슬라이딩 윈도우 / 32m 두 문제는 범위 제한 빼고는 같은 문제이다. 15961번이 범위가 훨씬 크다 2531번은 정올 2572번과 같고 15961번은 정올 2577번과 같다 쿠폰때문에 조금 헷갈렸다. 문제 링크 2531번 https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ k ≤ 3,000 (k ≤ N), 1 ≤ c ≤ d이다. 두 번째 줄부터 N개의 줄에는 벨트의 한 위치부터 시작하여 회전 방향을 따라갈 때 초밥의 종류.. 2020. 3. 14.