Algorithm
-
[BOJ] 계란으로 계란치기Algorithm/BOJ 2021. 1. 20. 16:27
[16987] 계란으로 계란치기 www.acmicpc.net/problem/16987 Solution N개의 각각의 계란이 한 번씩만 다른 계란을 칠 수 있을 때 깨지는 계란의 최대 갯수를 구하는 문제 처음에는 문제를 제대로 이해하지 못해서 i번째 계란은 i+1 이상의 순서의 계란만 깰 수 있다고 생각했다. 백트래킹으로 계란의 내구도(durability)를 복구하면서 모든 경우를 탐색해 답을 구할 수 있었다. 소스코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ..
-
[BOJ] 청소년 상어Algorithm/BOJ 2021. 1. 19. 20:20
[19236] 청소년 상어 www.acmicpc.net/problem/19236 Solution 백트래킹 문제인데 중간에 되돌려 놔야할 조건을 놓쳐서 또 엄청난 삽질을 했다.. 문제의 알고리즘의 큰 흐름은 다음과 같다 (1) 상어가 (sx, sy) 자리의 물고기를 먹는다 & 상어는 먹은 물고기의 방향을 가진다. (2) 각자 번호와 방향을 가진 물고기들이 작은 번호 부터 순서대로 자신의 방향으로 이동한다. (3) 상어는 자신의 방향으로 갈 수 있는 칸으로 한 번 이동할 수 있다. => dfs() 호출 (1) - (3) 과정이 반복되고, answer 변수에 상어가 먹을 수 있는 물고기 번호의 합의 최대값을 저장한다. 3번 과정에서 어떤 칸으로 가야 answer의 최댓값을 구할 수 있는지 알 수 없기 때문에 ..
-
[BOJ] 아기상어Algorithm/BOJ 2021. 1. 12. 19:09
[16236] 아기 상어 www.acmicpc.net/problem/16236 Solution 문제 조건 제대로 안 읽고 풀었다가 디버깅의 늪에 빠져벌임.. 문제 제대로 보자 1. 현재 상어 위치를 기준으로 BFS를 돌리고 상어가 먹을 수 있는 (=자신의 크기보다 작은) 물고기를 모두 fishes 리스트에 넣는다. 2. fishes 리스트를 문제 조건에 따라 가장 가까운 > x 좌표 > y좌표 기준으로 정렬하고 첫번째 물고기를 먹는다. 위 두 과정을 반복하다가 fishes 리스트의 길이가 0일 때, 즉 더이상 먹을 수 있는 물고기가 없을 때 while문을 종료한다. BFS 메서드에서 상어와 물고기 사이의 거리를 visited 배열에 저장한다. 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13..
-
[Programmers] 단체사진 찍기Algorithm/Programmers 2020. 12. 28. 23:46
[2017 카카오코드 본선] 단체사진 찍기 programmers.co.kr/learn/courses/30/lessons/1835# Solution permutation으로 모든 캐릭터의 순서를 구한다음 조건에 맞는지 체크하는 방식으로 풀었다. 캐릭터의 위치를 저장하기 위해 알파벳을 idx로 하는 배열을 만들어 위치를 저장했는데 그렇게 할 필요없이 map으로 위치를 저장하는 방법도 있었다. 소스코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ..
-
[COS PRO 1급 기출문제 - Java] 2-6 로봇을 움직여주세요Algorithm/COS PRO 1급 기출문제 2020. 12. 21. 18:58
edu.goorm.io/learn/lecture/17301/cos-pro-1%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-java/lesson/839410/2%EC%B0%A8-%EB%AC%B8%EC%A0%9C6-%EB%A1%9C%EB%B4%87%EC%9D%84-%EC%9B%80%EC%A7%81%EC%97%AC%EC%A3%BC%EC%84%B8%EC%9A%94-java goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 유형 솔루션 코드 작성 문제 12345678910111213141516171819// 다음과 같이 import를 사용할 수 있습니다..
-
[COS PRO 1급 기출문제 - Java] 2-5 언제까지 오르막길이야..?!Algorithm/COS PRO 1급 기출문제 2020. 12. 21. 18:43
edu.goorm.io/learn/lecture/17301/cos-pro-1%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-java/lesson/839409/2%EC%B0%A8-%EB%AC%B8%EC%A0%9C5-%EC%96%B8%EC%A0%9C%EA%B9%8C%EC%A7%80-%EC%98%A4%EB%A5%B4%EB%A7%89%EA%B8%B8%EC%9D%B4%EC%95%BC-java goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 유형 솔루션 코드 작성 문제 123456789101112131415161718192021// 다음과 같이 impor..
-
[COS PRO 1급 기출문제 - Java] 2-4 합이 k 배가 되는 수Algorithm/COS PRO 1급 기출문제 2020. 12. 21. 18:33
edu.goorm.io/learn/lecture/17301/cos-pro-1%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-java/lesson/839408/2%EC%B0%A8-%EB%AC%B8%EC%A0%9C4-%ED%95%A9%EC%9D%B4-k-%EB%B0%B0%EA%B0%80-%EB%90%98%EB%8A%94-%EC%88%98-java goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 유형 솔루션 코드 작성 문제 123456789101112131415161718192021222324// 다음과 같이 import를 사용할 수 있습니다.imp..
-
[COS PRO 1급 기출문제 - Java] 2-3 경품 당첨자를 구해주세요Algorithm/COS PRO 1급 기출문제 2020. 12. 21. 15:42
edu.goorm.io/learn/lecture/17301/cos-pro-1%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-java/lesson/839407/2%EC%B0%A8-%EB%AC%B8%EC%A0%9C3-%EA%B2%BD%ED%92%88-%EB%8B%B9%EC%B2%A8%EC%9E%90%EB%A5%BC-%EA%B5%AC%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94-java goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 유형 빈칸 채우기 문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17..