πŸš€ Coding Test_

⁉️ μˆ˜λ°•μˆ˜ λ¬Έμžμ—΄ 생성 – ν•œκΈ€ 주석 기반 μžλ°” μ½”λ”© ν…ŒμŠ€νŠΈ 풀이

CodeLoge 2025. 6. 4. 20:12

❓ 문제

 

길이가 n인 λ¬Έμžμ—΄μ„ μƒμ„±ν•˜λ €κ³  ν•œλ‹€. μƒμ„±λ˜λŠ” λ¬Έμžμ—΄μ€ "μˆ˜λ°•μˆ˜λ°•μˆ˜λ°•..."κ³Ό 같은 κ·œμΉ™μ μΈ νŒ¨ν„΄μ„ λ”°λ₯Έλ‹€.
즉, "μˆ˜λ°•"μ΄λΌλŠ” 두 κΈ€μžκ°€ λ²ˆκ°ˆμ•„κ°€λ©° λ°˜λ³΅λ˜λŠ” ꡬ쑰이며, λ¬Έμžμ—΄μ˜ 총 κΈΈμ΄λŠ” μ •ν™•νžˆ n이어야 ν•œλ‹€.

예λ₯Ό λ“€μ–΄ n = 4이면 "μˆ˜λ°•μˆ˜λ°•", n = 3이면 "μˆ˜λ°•μˆ˜"λ₯Ό μƒμ„±ν•˜λŠ” 방식이닀.
μ΄λŸ¬ν•œ νŒ¨ν„΄μ„ λ§Œμ‘±ν•˜λŠ” λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜μ‹œμ˜€.


πŸ“Œ μ œν•œ 쑰건

 

• n은 길이 10,000 μ΄ν•˜μ˜ μžμ—°μˆ˜


πŸ§ͺ μž…μΆœλ ₯ μ˜ˆμ‹œ

μž…λ ₯(n) 좜λ ₯ λ¬Έμžμ—΄
3 "μˆ˜λ°•μˆ˜"
4 "μˆ˜λ°•μˆ˜λ°•"
1 "수"
5 "μˆ˜λ°•μˆ˜λ°•μˆ˜"

πŸ” 풀이 μ „λž΅

 

 λ¬Έμžμ—΄ 길이 n만큼 반볡  
 μ§μˆ˜ 인덱슀(0, 2, 4...)μ—λŠ” "수"  
 ν™€μˆ˜ 인덱슀(1, 3, 5...)μ—λŠ” "λ°•"  
 λ°˜λ³΅μ μœΌλ‘œ λ¬Έμžμ—΄μ„ 이어뢙여 μ™„μ„±  


βœ… ν•œκΈ€ μ½”λ”©

// N"번만"큼 반볡 >> νšŸμˆ˜κ°€ μ •ν•΄μ Έ μžˆκΈ°μ— FORλ¬Έ μ‚¬μš©
// 1,3,5,7,9 >> ν™€μˆ˜λΌλ©΄?
// "수" 좜λ ₯
// 2,4,6,8,10 >> 짝수라면?
// "λ°•" 좜λ ₯
// watermelon에 계속 μ΄μ–΄μ„œ 좜λ ₯

βœ… μ½”λ”©

class Solution {
    public String solution(int n) {
		String watermelon = "";

        // 반볡문 μ‹œμž‘ν•  iλ³€μˆ˜ μ„ μ–Έ
        int i;
        
        // 0λΆ€ν„°, Nλ²ˆκΉŒμ§€ 반볡, 0λΆ€ν„° 1μžλ™μ¦κ°€
        for(i=0 ; i<n ; i++){
            // ν™€μˆ˜λ²ˆμ§Έ 자리라면?
            if(i%2==0){
            	// watermelon에 "수" 뢙이기
                watermelon += "수";
            }
            // ν™€μˆ˜κ°€ μ•„λ‹Œ 짝수라면?
            else{
            	// watermelon에 "λ°•" 뢙이기
                watermelon += "λ°•";
            }
        }
        // μ €μž₯된 λ¬Έμžμ—΄ λ°˜ν™˜
        return watermelon;
    }
}