코딩테스트 준비664 [백준] 8393번 - 합 [Java] https://www.acmicpc.net/problem/8393 1. 아이디어 1부터 n까지의 합은 n * (n + 1) / 2 를 활용하면 시간복잡도 O(1)로 해결할 수 있다.2. 문제풀이 합이 int형 범위 이내이므로 그대로 연산해서 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Syste.. 2024. 12. 12. [백준] 1158번 - 요세푸스 문제 [Java] https://www.acmicpc.net/problem/1158 1. 아이디어 큐 자료구조를 활용하면 원순열에서 특정 순서의 사람을 간단하게 제거할 수 있다.2. 문제풀이 enqueue 값에 dequeue값을 넣으면 계속 순열을 원형으로 돌 수 있는 점을 활용했다.모든 사람이 제거될 때까지 제거할 순번이 아닌 사람은 큐의 뒤에 넣고 제거할 사람은 따로 빼는 과정을 반복하면 로직을 구성할 수 있고 출력 양식을 맞추기 위해 StringBuilder를 활용했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { Buff.. 2024. 12. 12. [백준] 11866번 - 요세푸스 문제 0 [Java] https://www.acmicpc.net/problem/11866 1. 아이디어 큐 자료구조를 활용하면 원순열에서 특정 순서의 사람을 간단하게 제거할 수 있다.2. 문제풀이 enqueue 값에 dequeue값을 넣으면 계속 순열을 원형으로 돌 수 있는 점을 활용했다.모든 사람이 제거될 때까지 제거할 순번이 아닌 사람은 큐의 뒤에 넣고 제거할 사람은 따로 빼는 과정을 반복하면 로직을 구성할 수 있고 출력 양식을 맞추기 위해 StringBuilder를 활용했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { Buf.. 2024. 12. 12. [백준] 11721번 - 열 개씩 끊어 출력하기 [Java] https://www.acmicpc.net/problem/11721 1. 아이디어 단어의 인덱스를 기준으로 개행 문자를 넣어 출력하는 방식으로 구현했다.2. 문제풀이 for문으로 단어의 각 문자를 다시 StringBuilder에 넣는데 이때 10개 단위로 개행 문자를 넣어주면 조건에 맞게 출력할 수 있다.10개 단위로 끊으려면 10으로 나눈 나머지가 0일 때 개행 문자를 넣어주면 되는데, 이때 인덱스 + 1을 10으로 나눈 나머지가 0일 때 개행 문자를 넣어줘야 열 개씩 끊어서 잘 출력된다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { Buffe.. 2024. 12. 10. [백준] 14645번 - 와이버스 부릉부릉 [Java] https://www.acmicpc.net/problem/14645 1. 아이디어 버스 운전수의 이름은 입력값과 상관없다.2. 문제풀이 바로 출력하는 방식으로 구현했다.3. 코드 public class Main { public static void main(String[] args) { System.out.println("비와이"); }}4. 후기 2024. 12. 10. [백준] 10869번 - 사칙연산 [Java] https://www.acmicpc.net/problem/10869 1. 아이디어 문제 그대로 구현하면 된다.2. 문제풀이 StringTokenizer로 파싱 후 연산하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int A = Inte.. 2024. 12. 10. [백준] 1008번 - A/B [Java] https://www.acmicpc.net/problem/1008 1. 아이디어 문제 그대로 구현하면 된다.2. 문제풀이 StringTokenizer로 파싱 후 연산하는 방식으로 구현했다. 이때 정수간 나눗셈은 버림 처리가 되므로 상대오차를 만족하기 위해 double형으로 형변환했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = ne.. 2024. 12. 10. [백준] 1001번 - A-B [Java] https://www.acmicpc.net/problem/1001 1. 아이디어 문제 그대로 구현하면 된다.2. 문제풀이 StringTokenizer로 파싱 후 연산하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int A = Integ.. 2024. 12. 10. [백준] 10998번 - A×B [Java] https://www.acmicpc.net/problem/10998 1. 아이디어 문제 그대로 구현하면 된다.2. 문제풀이 StringTokenizer로 파싱 후 연산하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int A = Inte.. 2024. 12. 10. [백준] 2557번 - Hello World [Java] https://www.acmicpc.net/problem/2557 1. 아이디어 그냥 출력하면 된다.2. 문제풀이 println문으로 출력했다.3. 코드 public class Main { public static void main(String[] args) { System.out.println("Hello World!"); }}4. 후기 2024. 12. 10. [백준] 4358번 - 생태학 [Java] https://www.acmicpc.net/problem/4358 1. 아이디어 종의 이름을 사전순으로 출력해야 하는 점에서 TreeMap 자료구조를 활용해서 구현했다.2. 문제풀이 TreeMap의 key에는 종의 이름, value에는 등장 횟수를 저장한다.이후 출력을 위한 포맷팅 과정에서 향상된 for문으로 Entry를 꺼내서 key와 value를 이용할 수 있게 했는데, 종이 차지하는 비율을 백분율로 소수점 4째자리까지 출력하기 위해 round라는 메서드를 정의해서 이용했다. round 메서드는 비율을 처리하는 메서드로 소수점 4번째 자리가 0일 경우에도 0을 출력하기 위해 String.format을 활용했다.3. 코드 import java.io.*;import java.util.*;public c.. 2024. 12. 10. [백준] 10807번 - 개수 세기 [Java] https://www.acmicpc.net/problem/10807 1. 아이디어 StringTokenizer로 N개의 정수를 파싱 후 v와 비교하는 방식을 이용했다.2. 문제풀이 등장 횟수를 세는 cnt 변수에 등장 횟수를 저장한 후 출력하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = In.. 2024. 12. 10. 이전 1 ··· 46 47 48 49 50 51 52 ··· 56 다음