문제 설명
https://programmers.co.kr/learn/courses/30/lessons/12931
문제 설명길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.제한 조건
- n은 길이 10,000이하인 자연수입니다.
문제 해석 및 풀이 방법
1. 정수 n을 문자 배열로 변경한다.
3. 그후 for문을 통해 문자 배열 값 하나씩을 정수로 더해준다.
4. 정답을 반환한다.
내가 작성한 소스코드(Java)
public class Solution {
public int solution(int n) {
int answer = 0;
char[] convertString = String.valueOf(n).toCharArray();
for(int i=0;i<convertString.length;i++){
answer += convertString[i] - 48; //숫자를 뺼셈 할때 아스키코드에서 48을빼주면 숫자가 나옴
}
return answer;
}
}
정수 n을 char배열로 변경해준후 for문으로 배열크기만큼 반복해준다.
그리고 배열의 인덱스의 값마다 answer을 더해준다 이때 값이 아스키코드로 되어 있으므로
48을 빼주어 현재 숫자로 변경해준다.
결론 및 고찰
문제 자체는 이해하기 쉬웠으나 String을 char배열로 변경하는 함수를 몰라 찾아본다고 시간이 좀걸렸다.
그리고 아스키코드 48을 빼는 부분도 잘 몰랐었고 Level 1이 정말 쉬운 문제들이지만 이런 경우가 종종있어
유용한 것 같다.
소요 시간 10분
'코딩테스트 연습' 카테고리의 다른 글
Programmers 문자열 내 p와 y의 개수Level 1 (0) | 2021.09.12 |
---|---|
Programmers 수박수박수박수박수박수? Level 1 (0) | 2021.09.10 |
Programmers 이상한 문자 만들기 Level 1 (0) | 2021.09.05 |
Progammers 두 개 뽑아서 더하기 Level 1 (0) | 2021.09.04 |
Programmers 2개 이하로 다른 비트 Level 2 (0) | 2021.09.03 |
댓글