๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 18206_Soft Passwords

๋ฟŒ์•ผ._. 2025. 9. 26. 00:15
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/18206)

< Soft Passwords >

 

๋ฌธ์ œ ํ’€์ด 

 

๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

1. S์™€ P๊ฐ€ ๊ฐ™์„ ๋•Œ
2. P์˜ ๋งจ ์•ž์— ์ˆซ์ž๋ฅผ ํ•˜๋‚˜ ๋ถ™์ด๋ฉด S๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ
3. P์˜ ๋งจ ๋’ค์— ์ˆซ์ž๋ฅผ ํ•˜๋‚˜ ๋ถ™์ด๋ฉด S๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ
4. P์˜ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ์ „๋ถ€ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์œผ๋ฉด S์™€ ๊ฐ™์„ ๋•Œ

 

my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class _18206_ { // Soft Passwords

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

		String s = bf.readLine();
		String p = bf.readLine();

		String reverse = "";
		for (int i = 0; i < s.length(); i++) {
			if (Character.isAlphabetic(s.charAt(i))) {
				if (Character.isUpperCase(s.charAt(i))) {
					reverse += Character.toLowerCase(s.charAt(i));
				} else {
					reverse += Character.toUpperCase(s.charAt(i));
				}
			} else {
				reverse += s.charAt(i);
			}
		}

		boolean flag = false;
		if (s.equals(p) || (Character.isDigit(s.charAt(0)) && p.equals(s.substring(1)))
				|| (Character.isDigit(s.charAt(s.length() - 1)) && p.equals(s.substring(0, s.length() - 1)))
				|| reverse.equals(p)) {
			flag = true;
		}

		if (flag) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
	}
}
๋ณ€์ˆ˜)
s, p : ํšŒ์›๊ฐ€์ž…ํ•  ๋•Œ ์„ค์ •ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋กœ๊ทธ์ธํ•  ๋•Œ ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ
reverse : ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์€ ๋น„๋ฐ€๋ฒˆํ˜ธ
flag : ์กฐ๊ฑด ์ถฉ์กฑ ์—ฌ๋ถ€ 

 

ํšŒ์›๊ฐ€์ž…ํ•  ๋•Œ ์„ค์ •ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ s์™€ ๋กœ๊ทธ์ธํ•  ๋•Œ ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ p๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋ฌธ์ œ์—์„œ ๋งํ•œ ์กฐ๊ฑด์„ ํ•œ ๋ฒˆ์— ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € s ๊ฐ’์˜ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์–ด reverse ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค. 

 

s์™€ p๊ฐ€ ์ผ์น˜ํ•˜๊ฑฐ๋‚˜,

s์˜ 0๋ฒˆ์งธ ๊ฐ’์ด ์ˆซ์ž์ด๊ณ  ๊ทธ ์ดํ›„์˜ ๊ฐ’๊ณผ p๊ฐ€ ์ผ์น˜ํ•˜๊ฑฐ๋‚˜,

s์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์ˆซ์ž์ด๊ณ  ๊ทธ ์ „ ๊ฐ’๊ณผ p๊ฐ€ ์ผ์น˜ํ•˜๊ฑฐ๋‚˜,

๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๋’ค์ง‘์€ reverse์™€ p๊ฐ€ ์ผ์น˜ํ•˜๋‹ค๋ฉด

flag๋ฅผ true๋กœ ์ €์žฅํ•œ๋‹ค.

 

์ตœ์ข… flag๊ฐ€ true๋ผ๋ฉด "Yes"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด "No"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 20680_Birds Rituals  (0) 2025.09.29
[Baekjoon] 8978_VLAK  (0) 2025.09.25
[Baekjoon] 31023_Hit Song  (0) 2025.09.24
[Baekjoon] 24571_Good Groups  (0) 2025.09.18
[Baekjoon] 11260_Cell Counting  (0) 2025.09.17