본문 바로가기

구현160

[자바] 백준 17114 - 하이퍼 토마토 (java) 문제 : boj17114 필요 알고리즘 개념 BFS BFS긴 하다. BFS긴 한게 맞다. 구현 코딩은 체력이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. 우선 BFS는 기본적으로 문제없이 다룬다는 가정하에 풀 수 있다. BFS를 잘 모른다면 BFS 알고리즘 (너비 우선 탐색) - 배열 BFS, 그래프 BFS 글을 참고하자. 2. 기본 BFS를 알고, 2차원에서의 BFS만 해봤다면 3차원에서의 BFS를 우선 풀어보자.. 2022. 12. 7.
[자바] 프로그래머스 - 겹치는 선분의 길이 (Lv0, Java) 문제 : Programmers-겹치는 선분의 길이 문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 필요 알고리즘 개념 구현 if문을 통해 세 선분을 비교해도 풀 수 있으나, 아이디어만 잘 세우면 그냥 배열에 카운팅만 해서 구현해주면 된다. 풀이 선분의 수치는 -100~100 이다. 수치를 +100씩 해준다면 0~200 범위가 된다. 따라서 배열에 해당 선분이 차지하는 범위만큼 카운팅을 해줄 수 있다. 예를들어 아래와 같이 카운팅을 해줄 경우, 배열의 수치가 2 또는 3인 부분이 '두 개 이상의 선분이 겹치는 부분'이다. 주의점은 그냥 [a, b] 범위에 대해 카운팅하는건 점에 대한 카운팅이다. 이 문제에서는 겹치는 면을 찾아야하므로.. 2022. 12. 7.
[자바] 백준 7595 - Triangles (java) 문제 : boj7595 필요 알고리즘 개념 구현 문제에서 제시된 형태로 별찍기를 해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 하나의 정수만 입력받아 별을 찍을 수 있다면, 여러개의 별을 출력하는건 그냥 반복문이 하나 들어가는 과정일 뿐이다. 그러니 하나의 정수에 대해 별을 찍는 과정만 살펴보자. private void print(int n) { for (int i = 1; i 2022. 12. 7.
[자바] 백준 2941 - 크로아티아 알파벳 (java) 문제 : boj2941 필요 알고리즘 개념 구현, 문자열 문자열을 다루는 구현 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 이 문제의 관건은 크로아티아 알파벳을 변경해서 사용한 부분을 하나의 알파벳으로 세주면 된다. 문자의 갯수만 알면 되므로 다음과 같이 생각해보자. "ljes=njak" -> "?e??ak" (lj, s=, nj 가 ?로 치환되었다.) 즉, 어떤 문자인지는 상관없고 아무튼 크로아티아 알파벳이 쓰.. 2022. 12. 7.
[자바] 백준 23027 - 1번부터 문제의 상태가…? (java) 문제 : boj23027 필요 알고리즘 개념 구현, 문자열 문제에 제시된대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 자바에서 어떠한 문자가 포함되어있는지 확인은 String s에 대해 s.contains("A") 와 같은 식으로 가능하다. 그리고 특정 문자를 모두 특정 문자로 변경하는 것은 s = s.replaceAll("B", "A"); ( 모든 B를 A로 변경 ) 과 같이 가능하다. 위의 사항들을.. 2022. 12. 5.
[자바] 백준 25305 - 커트라인 (java) 문제 : boj25305 필요 알고리즘 개념 정렬, 구현 정렬을 통해 문제에서 제시된 방식대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. arr[N] 에 각 학생의 점수를 입력받는다. 2. arr을 정렬한다. 3. 내림차순으로 정렬했다면 앞에서부터 k번째 학생의 점수를 출력한다. 오름차순으로 정렬했다면 뒤에서부터 k번째 학생의 점수를 출력해준다. 코드 : github import java.io.Bu.. 2022. 12. 4.