본문 바로가기

분류 전체보기510

백준 JAVA 2164 카드2 접근방법 - 하나는 버리고 하나는 다시 큐에 담는 문제 임을 확인 - 큐에 1개가 남을 때까지 해당 작업을 반복하고 1개가 남으면 출력 - n = 1일때를 따로 조건을 만들어 출력 8/22 큐와 스택을 다시 공부하면서 재풀이 했다. 조금 더 원활하게 코드를 작성할 수 있었다. package BAEKJOON.Silver.Ⅳ; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class NO2164 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Queue Q = new LinkedList(); int n = s.. 2022. 8. 22.
백준 JAVA 11659 구간 합 구하기4 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 접근방법 - 구간합을 구하는 문제. - 이중for문을 사용하면 시간초과가 날거라고 생각했다. ( M 이 100,000 까지인데, 100,000 * 100,000 하면 1초가 훌쩍넘어버린다 ) - 따라서 구간합을 먼저 구해 저장할 수 있도록 sun 배열을 생성했다. - 입력범위가 1~3 / 2~4 / 5~5 이기때문에 sum의 0의 인덱스는 사용하지 않으려고 sum 배열의 길.. 2022. 8. 22.
assertThrows 예외 테스트 예외 처리 테스트 관련 메서드 assertThrows Assertions 에는 2가지가 있다. 해당 메서드는 junit.jupiter 에 내장되어있다. 사용방법은 아래와 같다. 예외타입을 적어주고 람다식으로 발생조건을 적어주면 된다. 필요 파라조건이 적혀있어서, 모르는건 검색해가면서 작성하면 된다. 나는, 회원가입 중복 테스트할 때 사용했다. 2022. 8. 21.
백준 JAVA 15652 N과M (4) https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net package BAEKJOON.Silver.Ⅲ; /** * 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 * 1 초 512 MB 33165 26144 21107 79.138% */ import java.util.Scanner; public class NO15652 { static int n; static int m; static int [] arr; static void dfs(int .. 2022. 8. 20.
백준 JAVA 1769 3의 배수 - 런타임에러 해결필요 https://www.acmicpc.net/problem/1769 1769번: 3의 배수 문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를 www.acmicpc.net 질문검색에 있는 예외 까지 확인해서 대입해도 답이 잘나오는데, 컴파일 에러가 나는지 몰라서, 일단 질문란에 올렸다. 해결되면 다시 풀어보기. package BAEKJOON.Silver.Ⅴ; import java.util.Scanner; /** * 22.08.19 * 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 * 2 초 128 MB 11009 3227 2636 30.520% */ public.. 2022. 8. 19.
백준 JAVA 17478 재귀함수가 뭔가요? https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 재귀/구현이 약해서 가장 기초문제를 찾다가 봤는데 이게 기초라니.. 재귀는 문제를 많이 풀어볼 수 밖에 없다고해서 더 많이 풀고 분석해봐야겠다. 참고블로그 https://yongku.tistory.com/entry/%EB%B0%B1%EC%A4%80-17478%EB%B2%88-%EC%9E%AC%EA%B7%80%ED%95%A8%EC%88%98%EA%B0%80-%EB%AD%94%EA%B0%80%EC%.. 2022. 8. 19.
백준 JAVA 10815 숫자 카드 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net package BAEKJOON.Silver.Ⅴ; import java.util.Arrays; import java.util.Scanner; public class NO10815_2 { static int N; static int M; public static void main(String[] args) { StringBuilder sb = new StringBuild.. 2022. 8. 19.
백준 JAVA 2003 수들의 합2 https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net package BAEKJOON.Silver.Ⅳ; import java.util.Scanner; public class NO2003_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); i.. 2022. 8. 17.
assertThatThrownBy 테스트 Junit5 에서는 예외테스트를 진행할 때 try - catch 보다 해당 메소드를 많이 사용하는 것 같다. 가독성이 좋아서 그런것 같기도하다. 아주 간단한 예제이지만, 혼자 구글링하면서 적용했다는 것에 칭찬하며, 혹시 다음에 까먹을까봐 기록해둔다. JPA 실전 강의에서 나온 entity 서비스이다. 재고가 0 밑으로 떨어지면 NotEnoughStockException 예외를 발생시키면서, "need more stock" 이라는 메세지를 보낸다. assertThatThrownBy 의 문법은 람다를 사용한다. assertThatThrownBy(() -> item.removeStock(11) ) .isInstanceOf(NotEnoughStockException.class) .hasMessage("need .. 2022. 8. 17.