반응형

백준 심화1 8

[백준] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 코드 (Java 자바)

예제 입력과 비교하여 부족하거나 많은 체스 피스 개수를 계산하는 문제이다.접근 방법)간단하게 Scanner와 System.out.print()에 대해 잘 알고 있다면 이번 심화문제는 손 쉽게 풀 수 있다.그리고 BufferedReader와 StringTokenizer를 이용하여 풀 수도 있다. ▷ 정수 Scanner 및 출력Scanner sc = new Scanner(System.in);int num = sc.nextInt();System.out.print(2-num+" "); ▷ 정수 BufferedReader 및 StringTokenizerBufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st..

[백준] 25083번 새싹 코드 (Java 자바)

예제 출력과 같은 그림을 출력하는 문제이다.접근 방법)간단하게 System.out.println()을 이용하여 쉽게 풀 수 있다.하지만 몇 가지 주의해야 할 점이 있다.' 과 " 과 \는 그대로 출력되지 않기 때문이다. 이를 해결하기 위해 이 3가지를 출력하기 위해 앞에 \를 추가적으로 붙여야 한다. ▷ '  " \ 출력방법System.out.println("\'\"\\");출력결과'"\ 꼭 이 3가지 문자는 앞에 \를 붙여야 문자가 출력된다는 점을 잊지 말도록 하자.정답 코드 1)import java.util.Scanner;class Main{ public static void main(String[] args){ System.out.println(" ,r\'\"7");..

[백준] 1316번 그룹 단어 체커 풀이 코드 (Java 자바)

접근 방법)꽤나 코드를 짜는 것이 어려운 문제였다. 처음에 알파벳 a~z까지 크기 26의 boolean형 배열을 생성하고 해당 알파벳이 등장하면 해당 알파벳에 해당하는 배열 값을 1로 바꾸게 설정한다.그러면 알파벳에 해당하는 배열 값이 1일 경우 한 번 등장한 적이 있다는 의미가 된다. 그리고 동일한 알파벳이 연속적으로 나올 경우는 어떻게 처리할 것인지 문제였다.이것은 생각보다 단순하였다. 이전 알파벳과 현재 알파벳을 비교하여 같을 경우 아무런 코드를 실행하지 않고, 다를 경우 현재 알파벳에 해당하는 배열 값에 따라 return값을 다르게 주어 문제를 풀어 나갈 수 있다. 아직 이해하기 어렵지만 코드를 보면서 다시 살펴보자  정답 코드 1)import java.util.Scanner;class Main{..

[백준] 2941번 크로아티아 알파벳 풀이 코드 (Java 자바)

접근 방법)크로아티아 알파벳 c=, c- dz= 와 같은 문자열은 우리가 하나하나 직접 코드 속에서 처리해주어야 한다.우선 표와 같이 문자열로 변경한 크로아티아 알파벳과 일반 알파벳 개수를 세는 문제이다.그래서 크로아티아 알파벳을 하나의 임의의 문자로 변경한 뒤, 그 문자열을 길이를 구하면 출력 값과 일치하게 문제를 풀 수 있다.  정답 코드 1)import java.util.Scanner;class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.next(); str = str.replace("c=","1"); ..

[백준] 1157번 단어 공부 풀이 코드 (Java 자바)

접근 방법)이 문제는 몇 가지 순서를 밟아가며 풀어나가야 한다.첫 번째로는 입력 값을 모두 toUpperCase()를 이용해 모두 대문자로 만들어준다.두 번째로 알파벳 배열 [26]를 생성한 후 입력받은 문자열 길이만큼 for문을 반복한다.for문 안에서는 입력값을 하나씩 알파벳 문자 - 'A'로 인덱스 번호로 바꿔준 후, 인덱스 번호에 맞는 배열에 값을 1씩 더해준다.마지막으로 알파벳 배열 크기만큼 for문을 반복하여 배열 값이 가장 큰 값을 max로 잡고 max일 때 해당 알파벳을 출력하고, max가 같은 값이 존재할 경우 ?를 출력하게 작성한다.  정답 코드 1) import java.util.Scanner; class Main{ public static void main(String[] ..

[백준] 10988번 팰린드롬인지 확인하기 풀이 코드 (Java 자바)

접근 방법)이 문제는 입력값을 거꾸로 뒤집었을 때 입력값 원본과 일치할 경우 1을 출력 그렇지 않으면 0을 출력한다.입력받은 문자열을 for문안에서 charAt()를 이용하여 char값의 비교를 통해 풀어낼 수 있다.그리고 문자열을 쉽게 다룰 수 있는 StringBuilder 클래스의 reverse() 메소드를 이용하여 간단하게 풀 수 있다.  정답 코드 1)for문과 charAt() 사용import java.util.*;class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str1 = sc.next(); int ..

[백준] 2444번 별 찍기 - 7 풀이 코드 (Java 자바)

접근 방법) 이 문제를 보고 이중 for문을 이용하여 별을 출력해야하는 것을 인지해야한다. 그리고 절반까지는 별이 점차 많아지고, 절반 이후부터 점차 줄어들기 때문에 이중 for문을 2개 만들어야한다는 생각부터 코드를 시작할 수 있다. 정답 코드 1) import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i = 1; i

[백준] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 풀이 코드 (Java 자바)

접근 방법) 이 문제는 간단한 사칙연산이 살짝 들어간 입출력 문제이다. "1 - 킹 입력받은 값", "1 - 퀸 입력받은 값", "2 - 룩 입력받은 값", "2 - 비숍 입력받은 값", "2 - 나이트 입력받은 값", "8 - 폰 입력받은 값"을 출력하면 된다. 정답 코드 1) BufferedReader클래스 사용 import java.util.*; import java.io.*; class Main { public static void main(String[] args)throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringToken..

반응형