본문 바로가기
반응형

백준 심화16

[백준] 1316번 그룹 단어 체커 풀이 코드 (Java 자바) 접근 방법)꽤나 코드를 짜는 것이 어려운 문제였다. 처음에 알파벳 a~z까지 크기 26의 boolean형 배열을 생성하고 해당 알파벳이 등장하면 해당 알파벳에 해당하는 배열 값을 1로 바꾸게 설정한다.그러면 알파벳에 해당하는 배열 값이 1일 경우 한 번 등장한 적이 있다는 의미가 된다. 그리고 동일한 알파벳이 연속적으로 나올 경우는 어떻게 처리할 것인지 문제였다.이것은 생각보다 단순하였다. 이전 알파벳과 현재 알파벳을 비교하여 같을 경우 아무런 코드를 실행하지 않고, 다를 경우 현재 알파벳에 해당하는 배열 값에 따라 return값을 다르게 주어 문제를 풀어 나갈 수 있다. 아직 이해하기 어렵지만 코드를 보면서 다시 살펴보자  정답 코드 1)import java.util.Scanner;class Main{.. 2024. 5. 8.
[백준] 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"); .. 2024. 5. 2.
[백준] 1157번 단어 공부 풀이 코드 (Java 자바) 접근 방법)이 문제는 몇 가지 순서를 밟아가며 풀어나가야 한다.첫 번째로는 입력 값을 모두 toUpperCase()를 이용해 모두 대문자로 만들어준다.두 번째로 알파벳 배열 [26]를 생성한 후 입력받은 문자열 길이만큼 for문을 반복한다.for문 안에서는 입력값을 하나씩 알파벳 문자 - 'A'로 인덱스 번호로 바꿔준 후, 인덱스 번호에 맞는 배열에 값을 1씩 더해준다.마지막으로 알파벳 배열 크기만큼 for문을 반복하여 배열 값이 가장 큰 값을 max로 잡고 max일 때 해당 알파벳을 출력하고, max가 같은 값이 존재할 경우 ?를 출력하게 작성한다.  정답 코드 1) import java.util.Scanner; class Main{ public static void main(String[] .. 2024. 4. 30.
[백준] 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 .. 2024. 4. 24.
반응형