본문 바로가기

전체 글252

2108번 문제 : 통계학 2108번: 통계학 (acmicpc.net) 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 뭘로 구현해야할까 배열, 해시맵, 리스트를 사용하였댜 ! 여기서 Math 클래스 안의 메소드들을 많이 사용해봤다 ! Math클래스의 메소드 - Math.abs(x) //x의 절대값 - Math.max(x,y) //x랑 y중에 큰 값 - Math.round(x) //x를 소수점 첫째자리에서 반올림 HashMap인터페이스의 새로운 메소드인 getOrDefault(key,value)도 사용해봤다. for(int i : arr){ map... 2023. 3. 29.
1966번 문제 : 프린터 큐 1966번: 프린터 큐 (acmicpc.net) 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 자바에 큐라는 자료구조가 있나 ? 있네 Queue queue = new LinkedList(); //인터페이스이기 때문에 큐 인터페이스를 상속받아 구현한 LinkedList클래스를 사용 근데 이건 큐보다는 해시맵을 이용해서 각 문서의 갯수(정수값key)에 중요도를 value로 해서 넣어주면 될 듯. 중요도는 중복이 된다고 했으니 가능 그런데 HashMap 자체가 입력순서를 유지하는 컬렉션이 아니래 ,.,,,,,,,,,.. 2023. 3. 24.
1929번 문제 : 소수구하기 1929번: 소수 구하기 (acmicpc.net) 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 쉬워보인다. 소수란 ? ) 약수가 1과 자기자신 밖에 없는 수 package algorithm; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.. 2023. 3. 22.
1920번 문제 : 수 찾기 1920번: 수 찾기 (acmicpc.net) 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 생각보다 간단해보이지만 시간이 짧다. 시간 단축을 위해 이진탐색으로 풀어야하겠고 조건에 정수의 범위 따지는 거 보니까 자료형도 중요하겠다 mid값은 low+high니까 long형을 써야되겠어 이진탐색이 필요할까 싶어서 그냥 구현해봤는데 역시 시간초과가 나왔따 필요하넹 ㅋ package algorithm; import java.io.BufferedReader; impor.. 2023. 3. 20.
1874번 문제 : 스택 수열 1874번: 스택 수열 (acmicpc.net) 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 첫 숫자는 수열의 갯수 num 그 아래로 num개의 중복되지 않은 숫자 1~num까지 1~num까지의 수를 스택에 push하고 pop해서 나온 수열이 입력값을 만족시키면 됨 ! 생각보다 술술 풀었따 package algorithm; import java.io.BufferedReader; import java.io.IOException.. 2023. 3. 19.
1654번 문제 : 랜선 자르기 1654번: 랜선 자르기 (acmicpc.net) 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 흠 어려워 보이는 걸 갑자기 알게된 사실 ? 일단 k랑 n을 받으려고 StringTokenizer st = new StringTokenizer(br.readLine()); int k = Integer.parseInt(st.nextToken()); int n = Integer.parseInt(st.nextToken()); 이렇게 했다. 한 줄을 읽어서 공백 기준으로 잘라서 각각의 변수에.. 2023. 3. 19.
1436번 문제 : 영화감독 1436번: 영화감독 숌 (acmicpc.net) 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 내가 생각한 알고리즘 반복문을 돌려서 6이 연속으로 나오는 수를 ArrayList에 하나씩 저장해놓고 입력한 수 번째의 값을 꺼내쓴다 ! 근데 여기서 반복문을 얼마나 돌려야 할지를 잘 모르겠네 3/18 이어서 ! num을 입력받아 (n번째 수) 6을 세어줄 sixcount 선언 6이 3번 연속으로 들어간 수가 저장될 ArrayList 만듦. (배열로 저장 안 한 이유는 n번째 숫자가 저장될 공간이 몇 개나 필요.. 2023. 3. 18.
1259번 문제 : 팰린드롬수 1259번: 팰린드롬수 (acmicpc.net) 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 가볍게 문제를 한 번 봤는데 쉬워보여서 풀어봤다 근데 0을 입력하면 입력을 그만받게 해야되는데 왜 그게 안 되지 ????! 기초 중에 기초인데 !! 낼 다시 도전 ! 3/17 while(true) { if(br.readLine()!="0") { String tmp = br.readLine();//Integer.toString(scanner.nextInt()); num.add(i, tmp); i++; } else if(br.read.. 2023. 3. 17.
1018번 문제 : 체스판 다시 칠하기 ∮1018번: 체스판 다시 칠하기 (acmicpc.net) 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 일단 N행 M열만큼 배열 array[N][M]에 한 글자씩 저장하기 ! BufferedReadLine으로 한 줄씩 읽어와서 charAt으로 찢어서 저장. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N .. 2023. 3. 16.
728x90