728x90
수박수박수박수박수박수?
문제설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한사항
- n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
3 | "수박수" |
4 | "수박수박" |
기본코드
class Solution {
public String solution(int n) {
String answer = "";
return answer;
}
}
문제풀이
그간 알고리즘 풀이를 하면서 프로그래밍적 사고가 어느정도 세팅이 된건지 문제를 보고
몇 자 코드를 적으니 기능하기 시작하였다.
그렇게 어려운 문제는 아니었다.
빈 문자열 answer을 설정해두고,
마찬가지로 빈 숫자열 count를 설정해둔다.
주어진 문자열의 길이 n만큼 도는 for문을 만들고, 그 안에서 0을 포함한 짝수 번째 자리의 문자에는 "박"가,
홀수 번째 자리의 문자는 "수"가 들어가도록하여 문제 풀이를 완료하였다.
class Solution {
public String solution(int n) {
String answer = "";
int count = 0;
for(int i = 0; i < n; i++){
if(i % 2 == 0){
answer += "수";
count++;
}else{
answer += "박";
count++;
}
}
return answer;
}
}
문제 풀이를 완료한 후 다른 사람들의 코드를 보고 내 코드를 보니 무언가 이상하였다.
왜 굳이 count란 빈 숫자열을 만들어서 진행하였나?
int i가 이미 그 역할을 해내고 있는데..
그래서 그 부분을 수정하고, 더불어 삼항연산자로 다시 풀이하여 최종 답안을 제출하였다.
삼항연산자를 쓰는 과정에서 또 다시 다소 버벅거리고 관련 자료를 참고하였다.
계속해서 if문을 쓸 일이 있으면 삼항연산자로도 작성해보며 반복 숙달이다🔥
Solution.java
class Solution {
public String solution(int n) {
String answer = "";
for(int i = 0; i < n; i++){
answer += (i % 2 == 0)? "수" : "박";
}
return answer;
}
}
728x90
'🤖Algorithm' 카테고리의 다른 글
[프로그래머스] 완주하지 못한 선수 Java (0) | 2022.07.19 |
---|---|
[프로그래머스] 하샤드 수 Java (0) | 2022.07.19 |
[프로그래머스] 짝수와 홀수 Java (0) | 2022.07.19 |
[프로그래머스] 내적 Java (0) | 2022.07.18 |
[프로그래머스] 부족한 금액 계산하기 Java (0) | 2022.07.18 |