본문 바로가기
반응형

CodingTest34

백준_11659번_구간 합 구하기 4_자바 백준_11659번_구간 합 구하기 4_자바 풀어보도록 하겠습니다. https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 해당 문제는 문제 자체에 어려움은 없으나, 제한 부분을 보시면 아래와 같이 범위가 넓어서 2중 for문으로 풀이시 시간 초과가 나타나는 함정이 있습니다. 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N 시간 초과만 유의하여 최초에 값을 받을때 배열에 이전 칸들의 합을 저장하는.. 2024. 1. 16.
백준_2644번_촌수계산_자바 https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 백준_2644번_촌수계산 문제는 bfs,dfs로 모두 풀 수 있는 그래프 문제이며, 개인적으로 더 편한 bfs로 풀이하였습니다. import java.util.*; import java.io.*; public class Main { static int start,end,n; static int[][] graph; static int[] dist; public static voi.. 2024. 1. 9.
백준_2839_설탕 배달_자바 백준_2839_설탕 배달_자바 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 해당 문제는 간단한 수학적 연산으로 풀리는 문제였으며, 3kg,5kg 봉지로 최소한의 봉지를 담는것이기 때문에 거스름돈 문제와 비슷한 느낌을 받았다. 1. 조건 : 5로 나누어지면 나누고 아니면 3을 빼고 갯수를 체크한다. 이 부분만 생각하면서 풀면 될 것 같다. import java.io.BufferedReader; import java.io.IOException; impor.. 2024. 1. 5.
백준_1018번_체스판 다시 칠하기_자바 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 백준_1018번_체스판 다시 칠하기_자바 해당 문제의 경우 완전 탐색 문제라고 볼 수 있으며, 조건을 정리하면, 1. 8x8크기의 체스판을 만든다. 2. 체스판에 white나 black색이 교차하며 칠해져 있는지 확인한다. 3. 잘못 칠해진 판의 개수를 구한다. 4. 8x8보다 클경우 8x8크기로 잘라서 구하며, 여러 경우에서 나온 잘못 칠해진 판의 개수중 제일 작은 경우를 출력한다. 이렇.. 2024. 1. 4.
코딩테스트 기본 유형 정리 에라토스테네스의 체 - 소수구하기 // 해당 수를 제외하고 배수를 모두 지운다 아나그램 - 같은 단어로 배열만 바꾼것 [해시 + 슬라이딩윈도우 ] 팰린드롬 - 앞으로해도 뒤로해도 같은 단어 [ 문자열(StringBuilder.reverse) + replaceAll ] 최대매출 - [ SlidingWindow ] 창문 형태로 밀어내기 창문의 첫번째 값을 빼고 마지막값을 더한다 반복 배열 합치기, 공통원소 구하기 - [ twopointer ] p1,p2 혹은 lt,rt로 두가지 포인트를 잡아서 진행한다. 후위식연산 - 스택으로 넣어서 진행 먼저들어간 숫자 lt, 나중에 들어간숫자 rt로 연산 피보나치수열 - [ Array ] (i-1) + i 값은 i+2 값과 일치한다. K번째큰수 - 중복제거가 필요할땐 H.. 2024. 1. 1.
백준_11866번_요세푸스 문제 0_자바 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 요세푸스문제는 코테에서 자주 등장하는 문제이며, Queue를 이용하면 쉽게 풀어낼 수 있다. 출력의 경우 아래와 같이 바로바로 찍어낼 수도 있고, Stringbuilder를 사용해도 괜찮을 것 같다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.u.. 2023. 12. 18.
반응형

loading