๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers lv-0

๋ฌธ์ž์—ด ๋ฐ€๊ธฐ - Java [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ]

by ๊ทคํ”ผํ‚ค 2022. 11. 28.

 

โค๏ธ Problem

๋”๋ณด๊ธฐ
  • ๋ฌธ์ œ
    ๋ฌธ์ž์—ด "hello"์—์„œ ๊ฐ ๋ฌธ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ์”ฉ ๋ฐ€๊ณ  ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ๋งจ ์•ž์œผ๋กœ ์ด๋™์‹œํ‚ค๋ฉด "ohell"์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋ฌธ์ž์—ด์„ ๋ฏผ๋‹ค๊ณ  ์ •์˜ํ•œ๋‹ค๋ฉด ๋ฌธ์ž์—ด A์™€ B๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, A๋ฅผ ๋ฐ€์–ด์„œ B๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ช‡ ๋ฒˆ ๋ฐ€์–ด์•ผ ํ•˜๋Š”์ง€ ํšŸ์ˆ˜๋ฅผ returnํ•˜๊ณ  ๋ฐ€์–ด์„œ B๊ฐ€ ๋  ์ˆ˜ ์—†์œผ๋ฉด -1์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

  • ์ œํ•œ ์‚ฌํ•ญ
    • 0 < A์˜ ๊ธธ์ด = B์˜ ๊ธธ์ด < 100
    • A, B๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  • ์ž…์ถœ๋ ฅ ์˜ˆ & ์„ค๋ช…
no A B result
1 "hello" "ohell" 1
2 "apple" "elppa" -1
  1. "hello"๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ๋ฐ€๋ฉด "ohell"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  2. "apple"์€ ๋ช‡ ๋ฒˆ์„ ๋ฐ€์–ด๋„ "elppa"๊ฐ€ ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

๐Ÿ’› Solution

ํ’€์ด

class Solution {
    public int solution(String A, String B) {
        int answer = 0;

        while(!A.equals(B)) {
            answer++;
            StringBuilder sb = new StringBuilder(A);
            String tmp = sb.substring(sb.length()-1);
            sb.insert(0, tmp);
            sb.deleteCharAt(sb.length()-1);
            A = sb.toString();

            if(answer > A.length()) {
                answer = -1;
                break;
            } else {
                continue;
            }
        }
        return answer;
    }
}

 

์ฒ˜๋ฆฌ์†๋„ Very Gooood

 


 

๐Ÿ’œ Comment

์ด ๋ฌธ์ œ์—์„œ ์ œ์ผ ๋จผ์ € ๊ณ ๋ คํ•œ ๊ฒƒ์€ "A๋ฅผ ๋ฐ€์–ด์„œ B๊ฐ€ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ "์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ A๋ฅผ ๋ฏธ๋Š” ํšŸ์ˆ˜ ๊ธฐ์ค€์„ A.length()๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.

๋จผ์ € ๋ฌธ์ž์—ด๊ณผ B๋ฌธ์ž์—ด์ด ๋™์ผํ•˜์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ ๊ฐ ๋ฌธ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ์”ฉ ๋ฏธ๋Š” while๋ฌธ์ด ์ž‘๋™ํ•˜๋„๋ก ๊ตฌ์„ฑํ•œ ๋’ค, ์ž‘๋™ํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ answer์— 1์”ฉ ๋”ํ•˜๋„๋ก ๊ตฌ์„ฑํ–ˆ๋‹ค.

while๋ฌธ ์•ˆ์—์„œ answer์ด A.length๋ณด๋‹ค ์ปค์ง€๋Š” ๊ฒฝ์šฐ๋Š” ํ•œ ๋ฐ”ํ€ด๋ฅผ ๋Œ์•„๋„ ๋ฌธ์ž์—ด์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ answer์— -1์„ ๋Œ€์ž…ํ•˜์—ฌ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๋„๋ก ๊ตฌ์„ฑํ–ˆ๋‹ค.

 

11382์œ„๐Ÿ˜

 

 

 

๋Œ“๊ธ€