inblog logo
|
muaga's Hub
    Programmers-Java

    [프로그래머스] Lv.0 인덱스 바꾸기 (문자열의 특정 위치의 문자 변경)

    [프로그래머스] Lv.0 인덱스 바꾸기 (문자열의 특정 위치의 문자 변경)
    muaga's avatar
    muaga
    May 22, 2024
    [프로그래머스] Lv.0 인덱스 바꾸기 (문자열의 특정 위치의 문자 변경)
    Contents
    답풀이다른 사람의 풀이
     
    notion image
    notion image
     

    답


    ◽ StringBuilter

    class Solution { public String solution(String my_string, int num1, int num2) { char num1ch = my_string.charAt(num1); char num2ch = my_string.charAt(num2); StringBuilder sb = new StringBuilder(); sb.append(my_string); sb.setCharAt(num1, num2ch); sb.setCharAt(num2, num1ch); String answer = sb.toString(); return answer; } }
     

    풀이


    ◽과정 1 👉 실패

    class Solution { public String solution(String my_string, int num1, int num2) { char num1ch = my_string.charAt(num1); char num2ch = my_string.charAt(num2); String answer = my_string .replace(num1ch, num2ch) // hlllo .replace(num2ch, num1ch); // ⚠️ heeeo return answer; } }
    변경할 문자를 char로 깊은 복사 후, replace( ) 를 사용하여 문자를 변경하도록 시도했다.
    하지만 replace( )는 문자열 내의 모든 특정 문자를 변경하고, 괄호 속 입력 값은 바꿀 문자의 위치가 아닌 바꿀 문자를 지정하는 것이기 때문에 원하는 결과가 나오지 않았다.
     

    ◽ 과정 2 👉 성공

     

    다른 사람의 풀이


    ◽ char[ ]

    class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; char[] ch = my_string.toCharArray(); ch[num1] = my_string.charAt(num2); ch[num2] = my_string.charAt(num1); answer = String.valueOf(ch); return answer; } }
    Share article
    Contents
    답풀이다른 사람의 풀이

    muaga's Hub

    RSS·Powered by Inblog