728x90 Algorithm & Data Structure/문제풀이47 [Algorithm] 백준 17144(BOJ 17144) 미세먼지 안녕 문제 풀이!! (Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 17144번 미세먼지 안녕! 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/17144 1. 문제 설명 해당 문제는 단순하게 구현하면 되는 문제입니다. 구현할 때 주의해야 할 부분은 다음과 같습니다. 먼지가 확산되고 난 이후 새롭게 생성된 먼지들도 체크할 것 먼지가 확산될 때, 기존 먼지량을 따로 저장하지 않고 덮어쓰면 먼지량이 달라지므로 주의 공기청정기가 2개의 방향을 가지고 바람을 내뿜기 때문에 상하좌우 탐색범위 설정할 때 주의 위의 사항을 주의해서 BFS를 활용해서 구현하시면 어렵지 않게 풀 수 있습니다. 그럼 코드를 살.. Algorithm & Data Structure/문제풀이 2021. 10. 7. [Algorithm] 백준 16234번(BOJ 16234) 인구 이동 문제풀이!! (Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 16234번 인구이동 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/16234 1. 문제 설명 해당 문제는 BFS를 사용해서 주어진 내용에 맞게 구현을 하면 풀 수 있는 문제입니다. 문제를 풀 때 생각을 좀 해야 하는 부분은 BFS를 수행하면서 연합이 된 국가들을 어떻게 저장할지를 고려해야 합니다. 저는 BFS과정에서 연합이 된 국가들을 따로 List에 저장하고, 국가들의 인구수들의 합을 저장하는 변수를 별도로 선언해서 연합국가들의 정보를 저장해서 문제를 해결했습니다. 그럼 코드를 살펴보겠습니다. 2. Java로 문제 풀이 .. Algorithm & Data Structure/문제풀이 2021. 9. 21. [Algorithm] 백준 16236(BOJ 16236) 아기상어 문제 풀이!!(Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 아기 상어 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/16236 1. 문제 설명 해당 문제는 구현 문제이면서 BFS를 같이 사용해줘야 하는 문제입니다. 문제를 읽어보면 아기 상어가 먹이를 찾기 위해서 이동해야 하는데 이동하는 과정에서 먹이의 거리가 동일하면 가장 왼쪽의 위에 있는 먹이를 먹어야 합니다. 먹이를 찾기 위한 과정을 BFS로 풀어내고 이후에 찾아낸 먹이로 이동하여 먹이를 먹고, 먹은 횟수를 계산하여 몸집을 키워주는 형태로 코드를 작성하여 반복적으로 수행하여 먹이가 없을 때 이동한 거리(문제에서는 시간)를 결괏값.. Algorithm & Data Structure/문제풀이 2021. 9. 12. [Algorithm] 백준 14889(BOJ 14889) 스타트와 링크 문제 풀이!!(Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 14889번 스타트와 링크 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/14889 1. 문제 설명 해당 문제는 구현 문제이면서 백트래킹으로 접근해서 풀 수 있습니다. 대부분의 완전 탐색의 문제는 재귀 메서드로 통해서 해결할 수 있습니다. 한 가지 유의사항은 팀을 나누는 모든 경우의 수를 구할 때, [0,1,2], [2,0,1], [1,0,2] 이 3개의 팀은 모두 같은 능력치의 결과를 가지기 때문에 중복을 제외해야 합니다. 그럼 코드를 살펴보겠습니다. 2. Java로 문제 풀이 package study.blog.coding.. Algorithm & Data Structure/문제풀이 2021. 9. 10. [Algorithm] 백준 17140(BOJ 17140) 이차원 배열과 연산 문제풀이!! (Java) 안녕하세요 Coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 17140번 이차원 배열과 연산 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/17140 1. 문제 설명 해당 문제는 주어진 내용에 따라 코드로 구현을 하면 풀 수 있는 문제입니다. 문제 자체에서 주어진 배열의 최대 크기도 100X100이기 때문에 시간 복잡도도 크게 고려하지 않고 풀 수 있습니다. 주어진 조건 중에 놓치기 쉬운 부분은 다음과 같습니다. 시간을 100초까지 고려하지 않고 99초에 끝내는 경우 연산 중간중간에 0이 들어가는 경우가 생기는데 이를 고려하지 않고, 0일 때 연산을 마무리하는 경우 연산 과정에서 열 .. Algorithm & Data Structure/문제풀이 2021. 8. 28. [Algorithm] 백준 3190번(BOJ 3190) 뱀 문제풀이!! (java) 안녕하세요. Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 3190번 뱀 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/3190 1. 문제 설명 문제를 읽어보셔서 아시겠지만 특별한 알고리즘보다는 주어진 내용에 맞게 구현하는 것에 초점을 두고 코드를 작성하면 어렵지 않게 풀 수 있습니다. 문제에서 주어진 조건 말고 따로 주의해야 할 점은 뱀이 방향 전환을 하고 나면 머리와 꼬리가 다른 방향을 바라보면서 매 초마다 움직이게 되고, 머리가 방향 전환을 시작한 위치에서 꼬리가 방향 전환을 할 수 있도록 구현해야 한다는 점입니다. 저는 이 부분을 List를 사용해서 머리의 방향 전환이 일어.. Algorithm & Data Structure/문제풀이 2021. 8. 25. [Algorithm] 백준 12100번(BOJ 12100) 2048(easy) 문제 풀이(Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 12100번 2048(easy) 문제를 Java로 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/12100 1. 문제 설명 해당 문제는 구현 문제로서 주어진 내용에 알맞게 구현만 하면 풀 수 있습니다. 문제에서 주어진 제약조건은 다음과 같습니다. 한 번에 한 방향으로만 이동이 가능하며 이동할 때 모든 블록이 같이 움직임 이동하는 과정에서 같은 값을 가진 블록을 만나면 이동방향에 있는 블록의 위치로 값이 합쳐짐 이동하는 과정에서 한번 합쳐진 적이 있던 블록은 다시 같은 값을 만나도 합쳐질 수 없음 위의 3개의 조건을 고려해서 코드로 .. Algorithm & Data Structure/문제풀이 2021. 8. 22. [Algorithm] 백준 4673(BOJ 4673) 셀프 넘버 문제풀이 (Java) 안녕하세요 Coding-Knowjam입니다. 백준 온라인 저지에 있는 4673번 셀프 넘버 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/4673 1. 문제 설명 문제에서 요구하는 바는 10000까지의 숫자 중 셀프 넘버를 출력하는 것입니다. 셀프 넘버는 문제에서 알려준 대로 생성자가 없는 숫자입니다. 배열의 인덱스를 각각의 숫자로 사용해서 구하면 쉽게 구할 수 있습니다. 딱히 어려운 부분은 없으므로 바로 코드로 작성해보겠습니다. 2. Java로 문제 풀이 package study.blog.codingnojam.algorithm.boj; import java.io.BufferedWriter; impo.. Algorithm & Data Structure/문제풀이 2021. 8. 10. [Algorithm] 백준 9012(BOJ 9012) 괄호 문제풀이 (Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 9012번 괄호 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/9012 1. 문제 설명 문제에서 요구하는 바는 주어진 문자열이 괄호가 전부 짝이 맞는지? 짝이 맞다면 전부 닫혀있는지?를 판단해서 YES와 NO를 출력하면 되는 문제입니다. 문제에서 얘기하는 VPS가 되는 조건은 당연히 ()() (()) 이런 식으로 전부 잘 닫히는 경우니 VPS가 아닌 경우를 걸러내면 쉽게 풀 수 있습니다. VPS가 아닌 경우는 다음과 같습니다. 괄호의 시작이 ")"로 시작하는 경우 "(()))" , "((())" 이런 식으로 괄호의 짝이 안 .. Algorithm & Data Structure/문제풀이 2021. 8. 10. [Algorithm] 백준 9095번 (BOJ 9095) 1,2,3 더하기 문제풀이 (Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 9095번 1,2,3 더하기 문제를 풀어보겠습니다. 문제에 대한 내용은 아래 링크를 통해서 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/9095 1. 문제 설명 이번 문제는 주어진 양의 정수를 1,2,3으로 더해서 표현할 수 있는지? 있다면 몇 가지의 방법의 수가 있는지를 출력하는 문제입니다. 그냥 단순하게 1,2,3을 더하는 모든 경우의 수를 고려하면 됩니다. 한 가지 유의할 점은 1+2+1과 1+1+2는 다른 경우라는 걸 알고 계셔야 합니다. 저는 재귀 형태로 메서드를 작성해서 구현했습니다. 그럼 코드를 작성해보겠습니다. 2. Java로 문제 풀이 package study.blog.cod.. Algorithm & Data Structure/문제풀이 2021. 8. 9. [Algorithm] 백준 17135번 (BOJ 17135) 캐슬 디펜스 문제풀이 (Java) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 17135번 캐슬 디펜스 문제를 풀어보겠습니다. 문제 링크는 아래에 있으니 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/17135 1. 문제 설명 해당 문제는 3명의 궁수를 배치해서 가장 많은 적을 제거해야 하는 것이 목표입니다. 궁수를 배치할 수 있는 공간은 N+1행에만 배치할 수 있고, 문제에서 주어지는 행과 열의 전체 길이가 크지 않으므로 모든 경우의 수를 고려해서 가장 많은 적을 제거하는 배치를 찾아내면 됩니다. 모든 경우의 수를 고려하는 문제를 풀 때 기본적으로 재귀 형태의 메서드로 접근하면 손쉽게 모든 경우의 수를 체크해볼 수 있습니다. 코드를 작성할 때 주의해야 할 점은 모.. Algorithm & Data Structure/문제풀이 2021. 8. 7. [Algorithm] 백준 15686번(BOJ 15686) 치킨 배달 문제풀이 (Java) 안녕하세요 Coding-Knowjam입니다. 이번에 풀어볼 문제는 백준 온라인 저지에 있는 15686번 치킨 배달입니다. https://www.acmicpc.net/problem/15686 1. 문제 설명 문제에서 요구하는 바는 도시의 치킨 거리가 최소일 때의 값을 구하는 것입니다. 도시가 최대로 가질 수 있는 치킨집의 개수는 M으로 정해져 있으므로, 도시 전체의 치킨집 중에서 M개의 치킨집을 선택했을 때 치킨 거리가 최솟값이 되면 됩니다. 도시의 크기와 치킨집의 개수가 크지 않기 때문에 모든 경우의 수를 탐색하는 브루트 포스 알고리즘으로 접근해서 풀 수 있습니다. 경우의 수를 탐색하기 위해 저는 재귀 메서드로 구현했습니다. 한 가지 유의사항은 M개의 치킨집을 고르고 가정집에서의 치킨 거리를 구할 때, .. Algorithm & Data Structure/문제풀이 2021. 8. 1. 이전 1 2 3 4 다음 728x90