Algorithm/BOJ
-
https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net 22233, 가희와 키워드 [ 난이도 : 실버 2 ] 이번 문제는 시간복잡도를 잘 고려해주어야 한다. N과 M의 범위가 2 X 10^5 까지이다. ArrayList 의 contains 를 사용한 풀이를 했을 때는 시간 초과가 발생할 수 있다. 그렇기 때문에 HashMap 을 사용한 풀이에 대해 설명해보겠다. # Process Input static int N, M..
(JAVA) [BOJ]백준 22233번, 가희와 키워드https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net 22233, 가희와 키워드 [ 난이도 : 실버 2 ] 이번 문제는 시간복잡도를 잘 고려해주어야 한다. N과 M의 범위가 2 X 10^5 까지이다. ArrayList 의 contains 를 사용한 풀이를 했을 때는 시간 초과가 발생할 수 있다. 그렇기 때문에 HashMap 을 사용한 풀이에 대해 설명해보겠다. # Process Input static int N, M..
2023.06.03 -
https://www.acmicpc.net/problem/21921 21921번: 블로그 첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다 www.acmicpc.net 21921, 블로그 [ 난이도 : 실버 3 ] 이번 문제는 투포인터 생각났지만 단순 반복문으로 풀이했다. # Process input : 방문자 수 N 과 연속으로 확인 할 일수인 M 을 입력받고 배열을 생성해준다. static int N, M; static int[] arr; static void input() { N = scan.nextInt(); M = scan.nextInt(); a..
(JAVA) [BOJ]백준 21921번, 블로그https://www.acmicpc.net/problem/21921 21921번: 블로그 첫째 줄에 $X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다 www.acmicpc.net 21921, 블로그 [ 난이도 : 실버 3 ] 이번 문제는 투포인터 생각났지만 단순 반복문으로 풀이했다. # Process input : 방문자 수 N 과 연속으로 확인 할 일수인 M 을 입력받고 배열을 생성해준다. static int N, M; static int[] arr; static void input() { N = scan.nextInt(); M = scan.nextInt(); a..
2023.05.29 -
https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 20920, 영단어 암기는 어려워 [ 난이도 : 실버 3 ] 이번 문제는 HashMap 과 List 를 사용하여 풀이해보겠다. # Process input : 단어의 수 N과 길이의 기준 M 이주어진다. M보다 길이가 같거나 긴 단어들을 HashMap 에 넣어주겠다. static int N, M; static String str;..
(JAVA) [BOJ]백준 20920번, 영단어 암기는 외로워https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 20920, 영단어 암기는 어려워 [ 난이도 : 실버 3 ] 이번 문제는 HashMap 과 List 를 사용하여 풀이해보겠다. # Process input : 단어의 수 N과 길이의 기준 M 이주어진다. M보다 길이가 같거나 긴 단어들을 HashMap 에 넣어주겠다. static int N, M; static String str;..
2023.05.29 -
https://www.acmicpc.net/problem/17266 17266번: 어두운 굴다리 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙 www.acmicpc.net 17266, 어두운 굴다리 [ 난이도 : 실버 4 ] 이번 문제는 이분탐색을 사용해서 풀어보겠다. # Process input : 굴다리의 길이 N, 가로등의 개수 M, 그리고 가로등의 위치 X가 주어진다. static int N, M; static int[] width; static void input() { N = scan.nextInt(); M = scan.nextInt(); width = ne..
(JAVA) [BOJ]백준 17266번, 어두운 굴다리https://www.acmicpc.net/problem/17266 17266번: 어두운 굴다리 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙 www.acmicpc.net 17266, 어두운 굴다리 [ 난이도 : 실버 4 ] 이번 문제는 이분탐색을 사용해서 풀어보겠다. # Process input : 굴다리의 길이 N, 가로등의 개수 M, 그리고 가로등의 위치 X가 주어진다. static int N, M; static int[] width; static void input() { N = scan.nextInt(); M = scan.nextInt(); width = ne..
2023.05.29 -
https://www.acmicpc.net/problem/9017 9017번: 크로스 컨트리 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 케이스로 주어진다. 입력 파일의 첫 번째 줄에 테스트 케이스의 수를 나타내는 정수 T 가 주어진다. 두 번째 줄부터는 두 줄에 하나의 www.acmicpc.net 9017, 크로스 컨트리 [ 난이도 : 실버 4 ] 이번 문제는 구현 문제인데 머리에 있는 로직을 무작정 코드로 짜다 보니 개인적으로는 휴율적으로 풀었다는 생각이 들지 않는다. 더 좋은 풀이가 있다면 댓글로 달아주시면 감사하겠습니다,, : ) # Process input : 등수 N 과 N만큼의 팀이 주어진다. 이를 기반으로 배열을 생성해주고, 팀의 범위가 1-200 이니까 201의 team 배..
(JAVA) [BOJ]백준 9017번, 크로스 컨트리https://www.acmicpc.net/problem/9017 9017번: 크로스 컨트리 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 케이스로 주어진다. 입력 파일의 첫 번째 줄에 테스트 케이스의 수를 나타내는 정수 T 가 주어진다. 두 번째 줄부터는 두 줄에 하나의 www.acmicpc.net 9017, 크로스 컨트리 [ 난이도 : 실버 4 ] 이번 문제는 구현 문제인데 머리에 있는 로직을 무작정 코드로 짜다 보니 개인적으로는 휴율적으로 풀었다는 생각이 들지 않는다. 더 좋은 풀이가 있다면 댓글로 달아주시면 감사하겠습니다,, : ) # Process input : 등수 N 과 N만큼의 팀이 주어진다. 이를 기반으로 배열을 생성해주고, 팀의 범위가 1-200 이니까 201의 team 배..
2023.05.29 -
https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 1244, 스위치 켜고 끄기 [ 난이도 : 실버 4 ] 이번 문제는 구현 문제이다. 쉬운 문제인데, 다른 부분은 다 쉽게 해결했는데 배수 구하는 부분을 잘못생각해서 이상하게 구현하여 고생을 좀 했다. 부디 같은 실수를 하는 사람이 없길 바란다 .. # Process input : 스위치의 개수, 스위치 여부와 학생 수를 차례로 받아준다. 이번 문제에서는 스위치를 스위칭 해야 하기 때문에 ch..
(JAVA) [BOJ]백준 1244번, 스위치 켜고 끄기https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 1244, 스위치 켜고 끄기 [ 난이도 : 실버 4 ] 이번 문제는 구현 문제이다. 쉬운 문제인데, 다른 부분은 다 쉽게 해결했는데 배수 구하는 부분을 잘못생각해서 이상하게 구현하여 고생을 좀 했다. 부디 같은 실수를 하는 사람이 없길 바란다 .. # Process input : 스위치의 개수, 스위치 여부와 학생 수를 차례로 받아준다. 이번 문제에서는 스위치를 스위칭 해야 하기 때문에 ch..
2023.05.26 -
https://www.acmicpc.net/problem/1205 1205번: 등수 구하기첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보www.acmicpc.net1205, 등수 구하기[ 난이도 : 실버 4 ] 이번 문제도 간단한 구현문제이다. 예시 2, 3번이 자꾸 이상한 결과가 나와서 잘 읽어보니 '점수가 랭킹 리스트에 올라갈 수 없을 정도로 낮다면 -1 을 출력한다'라는 내용이 있다.이 부분을 주의해야 한다.점수의 개수와 랭킹 리스트에 올라갈 갯수가 동일할 때, 가장 낮은 점수가 새로 넣을 점수보다 낮거나 같다면 -1을 출력해주..
(JAVA) [BOJ]백준 1205번, 등수 구하기https://www.acmicpc.net/problem/1205 1205번: 등수 구하기첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보www.acmicpc.net1205, 등수 구하기[ 난이도 : 실버 4 ] 이번 문제도 간단한 구현문제이다. 예시 2, 3번이 자꾸 이상한 결과가 나와서 잘 읽어보니 '점수가 랭킹 리스트에 올라갈 수 없을 정도로 낮다면 -1 을 출력한다'라는 내용이 있다.이 부분을 주의해야 한다.점수의 개수와 랭킹 리스트에 올라갈 갯수가 동일할 때, 가장 낮은 점수가 새로 넣을 점수보다 낮거나 같다면 -1을 출력해주..
2023.05.23 -
https://www.acmicpc.net/problem/25757 25757번: 임스와 함께하는 미니게임 첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들 www.acmicpc.net 25757, 임스와 함께하는 미니게임 [ 난이도 : 실버 5] 이번 문제는 간단한 구현 문제이다. # Process input : 함께 게임을 할 사람의 수 N 과 게임의 종류인 game = Y 를 받아주고 중복을 제거하기 위해 HashSet 을 사용해 주었다. static int N, playerNum; static String game; static ..
(JAVA) [BOJ]백준 25757번, 임스와 함께하는 미니게임https://www.acmicpc.net/problem/25757 25757번: 임스와 함께하는 미니게임 첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들 www.acmicpc.net 25757, 임스와 함께하는 미니게임 [ 난이도 : 실버 5] 이번 문제는 간단한 구현 문제이다. # Process input : 함께 게임을 할 사람의 수 N 과 게임의 종류인 game = Y 를 받아주고 중복을 제거하기 위해 HashSet 을 사용해 주었다. static int N, playerNum; static String game; static ..
2023.05.23