코드 그라데이션

[Lv.0] 문자 리스트를 문자열로 변환하기 본문

Java/알고리즘

[Lv.0] 문자 리스트를 문자열로 변환하기

완벽한 장면 2023. 5. 31. 03:33

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

문자들이 담겨있는 배열 arr가 주어집니다. 

arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.

 

제한 사항

 

입출력 예

 

아이디어

  • 우선적으로 반복문은 필요하다.
  • arr은 타입이고, arr[i]는 원소이다.

 

나의 코드

초기 작성 코드

class Solution {
    public String solution(String[] arr) {
        String answer = "";
        
        for(int i=0; i<arr.length; i++) {
           answer = arr[i].charAt(i);
        }
       
        return answer;
    }
}
  • 이 코드는 사실상 대입만 하고 있는 코드, 문제에서는 이어붙여야한다.
  • answer의 뒤에 계속해서 이어붙인다.
  • charAt(i)는 틀렸다. 문자열의 길이는 전부 1이라고 했으니까.
  • 그럼 charAt(0)으로 수정해줘야.  
  • 그런데 이것 자체를 생략해도 된다. 
  • 현재는 String이랑 char랑 더하는 것인데, String의 특성은 자기랑 더하는 애들을 모두 String으로 바꾸려고 한다는 것.
  • 그래서 이 코드도 사실 에러가 안 되었던 것.
  • 지금 현재는 조건에서 문자열 길이가 0이니까, 문자열의 첫 번째랑 더하는거랑 문자열 자체를 더하는 거랑 같아서    답이 똑같이 나왔던 것.

최종 제출 답안

class Solution {
    public String solution(String[] arr) {
        String answer = "";
        
        for(int i=0; i<arr.length; i++) {
           answer = answer + arr[i];
        }
       
        return answer;
    }
}
728x90

'Java > 알고리즘' 카테고리의 다른 글

[Lv.0] 모음 제거  (0) 2023.06.02
[Lv.0] 문자열의 뒤의 n글자  (0) 2023.06.01
[Lv.0] 중복된 숫자 개수  (0) 2023.05.31
[Lv.0] 순서쌍의 개수 *  (0) 2023.05.31
[Lv.0] 공백으로 구분하기 1  (0) 2023.05.29
Comments