반응형
TIL 230408 알고리즘 풀기 수박수박
1.
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
아래 코드에서의 오류: 결과 값이 박 밖에 안나옴. 이유: result 값에 할당을 잘못 함, 그 이유는 바로 i%2<<부분에 자꾸 n값을 넣어서였다. 예를 들어 n값이 1이라고 치면, 1을 넣었을 때의 나머지 값은 1이고, 그럴려면 else 뒤에 result에 "수" 가 들어가는게 맞다고 착각했기 때문이다.
var n1 = 1; //수
var n2 = 2; //수박
function solution(n) {
var result = "";
for (let i = 0; i < n; i++) {
if (i % 2 == 0) {
result += "박";
} else {
result += "수";
}
return result;
}
}
console.log(solution(n2));
해결 방법: if문에 들어가는 i는 인덱스의 값을 파악하여 "수", "박"을 바꿔서 할당해줌. 즉 내가 새로 만들어준 배열의 값이지 n과는 전혀 무관하다!
var n1 = 10; //수박수박
var n2 = 3; //수박
var n3 = 1;
function solution(n) {
var result = "";
for (let i = 0; i < n; i++) {
if (i % 2 == 0) {
result += "수";
} else {
result += "박";
}
}
return result;
}
console.log(solution(n1));
**이와 같은 반복문에서 기억해야할 점
for문에서 이전에 처리된 for문의 결과값에 그 다음 결과값이 계속 표기되려면 반드시 result에 +=를 표기해줄 것.
return result가 어디에 들어가야하는지 파악할 것.
반응형
'개발 > 알고리즘 풀기' 카테고리의 다른 글
TIL 230412 _소수찾기, 실패율, 체육복, 최대공약수와 최소공배수, K번째 수, 나머지가 1이 되는 수 찾기, 폰켓몬 (0) | 2023.04.13 |
---|---|
TIL 230411 소수만들기, 약수의 개수와 덧셈, 시저 암호, 예산 (0) | 2023.04.11 |
TIL 230411 3진법 뒤집기, 같은 숫자는 싫어, 두 개 뽑아서 더하기, 최소직사각형, 모의고사, 로또의 최고 순위와 최저 순위, 문자열 내림차순으로 배치하기 (2) | 2023.04.11 |
TIL 230410_이상한 문자 만들기, 자릿수 더하기, 자연수 뒤집어 배열로 만들기, 정수 내림차순으로 배치하기 (1) | 2023.04.10 |
TIL 230407 백엔드 알고리즘 풀기 (0) | 2023.04.07 |