자바 백준 15786번
브론즈 1
https://www.acmicpc.net/problem/15786
15786번: Send me the money
입력의 첫째 줄에 석규가 기억하는 원본 알파벳의 수 N(1 ≤ N ≤ 100)과 포스트잇의 개수 M(1 ≤ M ≤ 1000)이 주어진다. 다음 줄에 길이가 N인 알파벳 대문자로 이루어진 문자열 S가 주어진다. 이 후 M
www.acmicpc.net
문제 보기

분류: 구현, 그리디 알고리즘, 문자열
코드 보기
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 기억하는 알파벳의 수(N)와 포스트잇의 개수(M)를 입력 받음 int N = sc.nextInt(); int M = sc.nextInt(); // 기억하는 알파벳을 입력 받음 String rememberedAlphabets = sc.next(); // 각 포스트잇에 대해 비밀번호 가능성을 확인하고 출력 for (int i = 0; i < M; i++) { // 각 포스트잇의 문자열을 입력 받음 String postIt = sc.next(); // 비밀번호 가능성을 확인하고 결과를 출력 boolean isPossiblePassword = isPossiblePassword(rememberedAlphabets, postIt); System.out.println(isPossiblePassword); } } // 비밀번호 가능성을 확인하는 함수 public static boolean isPossiblePassword(String rememberedAlphabets, String postIt) { int index = 0; // 포스트잇의 각 문자에 대해 기억하는 알파벳과 일치하는지 확인 for (char ch : postIt.toCharArray()) { // 기억하는 알파벳과 일치하는 문자를 찾으면 인덱스 증가 if (index < rememberedAlphabets.length() && ch == rememberedAlphabets.charAt(index)) { index++; } } // 포스트잇에 기억하는 알파벳의 문자가 모두 포함되었는지 확인 후 결과 반환 return index == rememberedAlphabets.length(); } }
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 2338 - 긴자리 계산 (2) | 2023.12.28 |
---|---|
[Java] 백준 풀기 1233 - 주사위 (2) | 2023.12.27 |
[Java] 백준 풀기 9946 - 단어 퍼즐 (0) | 2023.12.23 |
[Java] 백준 풀기 10769 - 행복한지 슬픈지 (2) | 2023.12.22 |
[Java] 백준 풀기 9366 - 삼각형 분류 (2) | 2023.12.21 |