Hamutaro - Hamtaro 4

Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์‹œ์ € ์•”ํ˜ธ

carsumin 2022. 10. 12. 23:41

https://school.programmers.co.kr/learn/courses/30/lessons/12926

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

์ผ๋‹จ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์€ ํ–ˆ๋Š”๋ฐ ์–ด๋–ค์‹์œผ๋กœ ๋ถ„๋ฆฌํ•ด์•ผํ• ์ง€ ๊ฐ์ด ์•ˆ์˜ด

์•ŒํŒŒ๋ฒณ์„ ๋ณด๊ณ  ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.

 

์˜ˆ์ „์—๋„ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ charAt()ํ•จ์ˆ˜๋ฅผ ์“ด ์ ์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ,

๊ทธ๋•Œ ํ™•์‹คํžˆ ์ •๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๋‚˜๋ณด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€ ๋• ์ƒ๊ฐ์ด ์•ˆ๋‚ฌ์Œ

 

 

โœ…

 

1. charAt() -> String์œผ๋กœ ์ €์žฅ๋œ ๋ฌธ์ž์—ด ์ค‘, ํ•œ๊ธ€์ž๋งŒ ์„ ํƒํ•˜์—ฌ charํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜

2. ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ’ -> A-Z : 65-90 / a-z : 97-122

3. isLowerCase() / isUpperCase() -> ์†Œ/๋Œ€๋ฌธ์ž ์—ฌ๋ถ€ ํŒ๋‹จ

 

 

์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ’€์ด๋ฅผ ๋ณธ ๊ฒฐ๊ณผ ๊ฐ€์žฅ ๊น”๋”ํ•ด ๋ณด์ด๋Š” ์ฝ”๋“œ๋กœ ์ •๋ฆฌํ•ด๋ดค๋‹ค.

ch = (char)((ch - 'a' + n) % 26 + 'a');

ํŠนํžˆ ์ด ๋ถ€๋ถ„ ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•ด๋ณด์˜€๋‹ค.

 

class Solution {
	public String solution(String s, int n){
    	String answer = "";
        
        for(int i=0; i<s.length(); i++){ //๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต๋ฌธ
        	char ch = s.charAt(i); //charํ˜• ๋ณ€์ˆ˜์— ๋„ฃ์–ด์คŒ
            
            if(Character.isLowerCase(ch)){ //์†Œ๋ฌธ์ž
            	ch = (char)((ch - 'a' + n) % 26 + 'a');
            }else if(Character.isUpperCase(ch)){ //๋Œ€๋ฌธ์ž
            	ch = (char)((ch - 'A' + n) % 26 + 'A');
            }
            
            answer += ch;
    	}
    
    	return answer;    
    }
}