백준

📖 문제  알고리즘❓ 풀어내기❗️모든 경우의 수는 각 원소를 뽑는다 / 안 뽑는다로 나뉜다. 따라서 완전탐색을 통해 합이 S가 되는 모든 경우의 수를 탐색하고, 트리구조를 이루기 때문에 DFS 방식으로 풀 수 있다.예를 들어, 원소 {A, B, C} 라면,index = 0 일 때는 아무것도 선택하지 않았을 때, 부분수열 = {0} (공집합)index = 1 일 때는 이전 부분 수열에 A를 가졌냐 안 가졌냐로 나뉨. 부분수열 = {A}, {0}index = 2 일 때는 이전 부분 수열에 B를 가졌냐 안 가졌냐로 나뉨. 부분수열 = {AB}, {A}, {B}, {0}index = 3 일 때는 이전 부분 수열에 C를 가졌냐 안 가졌냐로 나뉨. 부분수열 = {ABC}, {AB}, {AC}, {BC}, {A},..
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️다른 풀이 코드들을 보면 나와는 다르게 푼 게 대부분이었다. 내가 작성한 코드는 그렇게 깔끔한 코드는 아니지만 정말 단순하게 풀 수 있다. 풀이는 다음과 같다.모든 크로아티아 알파벳을 각각의 새로운 변수에 대입해 준다. 그런 다음 입력받은 문자열을 이전에 크로아티아 알파벳으로 대입해 준 변수들로 하나씩 replace() 메서드를 사용하여 "a"로 대체해 준다. 이렇게 하고 나면 문자열은 a로만 이루어져 있을 것이고, 이 문자열의 길이가 답이 된다. 🧑🏻‍💻 풀이 코드import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner ..
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️각각의 말에 정해진 개수로 초기화를 해주고 입력받은 수를 빼주면 된다. 🧑🏻‍💻 풀이 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main {    public static void main(String[] args) throws IOException {        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        int king = 1;        in..
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️StringBuffer 클래스의 reverse() 함수를 사용하면 쉽게 풀 수 있다. 🧑🏻‍💻 풀이 코드import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        String str = sc.next();        StringBuffer sb = new StringBuffer(str);        String reverse = sb.reverse().toString();        if (str.equals(reverse)) {            Sys..
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️마름모 모양을 2등분해서 출력한다면 쉽게 풀 수 있다. 🧑🏻‍💻 풀이 코드import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int N = sc.nextInt();        for (int i = 1; i 0; i--) {            for (int j = 0; j
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️정답과의 상대/절대 오차는 10의 -2제곱, 즉 0.01까지 허용한다. 오차범위가 있기 때문에 반드시 연산할 때 최소한 자료형 1개 이상은 double 형으로 써야 한다. 🧑🏻‍💻풀이 코드import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int N = sc.nextInt();        int[] score = new int[N];        for (int i = 0; i max) {                max = score[i];    ..
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️교환할 변수를 저장해 놓을 tmp 변수를 활용하여 풀어낸다. 🧑🏻‍💻 풀이 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main {    public static void main(String[] args) throws IOException {        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        StringTokenizer st = new Stri..
📖 문제 ☑️ 입출력 예제 알고리즘❓ 풀어내기❗️서로 다른 나머지가 몇 개 있는지 출력을 해야 하기 때문에 중복을 제거해 주는 HashSet을 이용해 준다. 🧑🏻‍💻 풀이 코드import java.util.Scanner;import java.util.HashSet;public class Main {    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        HashSet h = new HashSet();        for (int i = 0; i ▶ HashSet h = new HashSet() : Integer 타입의 HashSet 객체 h를 생성해 준다.▶ h.add(in.nextI..
송경훈
'백준' 태그의 글 목록