본문 바로가기

알고리즘30

[JAVA]백준 - 11866.요세푸스 문제 0 www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 풀이 > Queue 를 사용하여 큐의 맨 앞의 요소를(poll) 맨 뒤로 넣어준다(offer) k-1번 반복 k번째에 요소를 꺼내고 출력한다 Queue에 남은 요소가 없을 때 까지 반복 import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class Baekjoon1920 { public static void main(String[] args) throws IOException { BufferedRe.. 2020. 11. 23.
[JAVA]백준 - 1920.수 찾기 www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안 www.acmicpc.net 풀이 > 이중 for문으로 단순 검사를 해서 제출했더니 시간초과가 나왔다...! 검색해보니 이분탐색을 해야한대서 적용해보았다 자바에서 제공하는 Arrays.binarySearch 메소드가 있어서 쉽게 구현이가능했다 Arrays.binarySearch : 이분탐색을 진행해 첫번째 인수인 배열(a)에 두번째인수 값(stM.naxtToken())이 존재한다면 해당 인덱스를 반.. 2020. 11. 13.
[JAVA]백준 - 1018.체스판 다시 칠하기 www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이 > 최종결과값으로 나와야하는 배열을 지정하고 입력된 판을 검사한다. (0, 0)이 흰색또는 검은색으로 시작하는 두가지 경우를 모두 검사해줘야함! 입력된 크기가 8x8이상일 경우 기준점(시작점)을 이동시켜 검사하기 import java.io.*; public class Baekjoon1018 { public static void main(String[] args) throws IOException {.. 2020. 11. 11.
[JAVA]백준 - 1181.단어 정렬(compare 오버라이딩) www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 풀이 > 중복값을 제거하기위해 Set에 값을 넣어주고 ArrayList로 변환 list.sort의 compare을 오버라이딩해 길이로 비교하고, 길이가 같다면 시작 문자로 비교하여 정렬하기 import java.io.*; import java.util.*; public class Baekjoon1181 { public static void main(String[] args) throws IOException.. 2020. 11. 10.
[JAVA]백준 - 11650.좌표 정렬하기(Arrays.sort / compare 오버라이딩) www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 풀이 > import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class Baekjoon11650 { public static void main(String[] args) throws IOException { BufferedReader br = new Buffer.. 2020. 11. 9.
[JAVA]백준 - 1259.팰린드롬수 www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 풀이 > 문자열을 잘라 배열로 만든 후 , 배열의 인덱스로 문자가 같은지 확인했다. 플래그를 boolean으로 구현하고 싶었는데 생각이안나서 비교한 갯수가 맞으면 전부 비교해서 맞다고 생각하고 yes를 출력하도록 했따... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { pu.. 2020. 11. 8.