반응형
88. A 강조하기
문제 설명
- 문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.
제한사항
- 1 ≤ myString의 길이 ≤ 20
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예시
- 입출력 예 #1
- 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다.
- 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
- 따라서 "AbstrAct AlgebrA"를 return 합니다.
- 입출력 예 #2
- 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 "A"가 아닌 대문자이므로 전부 소문자로 고쳐줍니다.
- 5번 인덱스의 "a"는 소문자이므로 대문자로 고쳐줍니다. 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
- 따라서 "progrAmmers"를 return 합니다.
풀이
const solution = myString => {
let result = [];
let slice = myString.split("");
for(const check of myString){
if(check === 'a'){
result.push('A');
} else if(check !== 'A'){
result.push(check.toLowerCase());
} else {
result.push(check);
}
}
return result.join("");
}
// 빈 배열 result 선언
// slice 변수에 myString을 문자로 나눈 배열 저장
// for of 반복문 사용, 소문자 a일 경우 대문자 A로 변경
// A가 아닐경우 소문자화
// A일 경우 result에 그대로 추가
// 배열을 join 메서드를 이용, 문자열로 변환 후 반환
89. 꼬리 문자열
문제 설명
- 문자열들이 담긴 리스트가 주어졌을 때, 모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 합니다. 꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 합니다. 예를 들어 문자열 리스트 ["abc", "def", "ghi"]가 있고 문자열 "ef"를 포함한 문자열은 제외하고 꼬리 문자열을 만들면 "abcghi"가 됩니다.
- 문자열 리스트 str_list와 제외하려는 문자열 ex가 주어질 때, str_list에서 ex를 포함한 문자열을 제외하고 만든 꼬리 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ str_list의 길이 ≤ 10
- 1 ≤ str_list의 원소의 길이 ≤ 10
- 1 ≤ ex의 길이 ≤ 5
입출력 예시
- 리스트 안의 모든 문자열이 "c"를 포함하므로 빈 문자열을 return합니다.
풀이
const solution = (str_list, ex) => {
let result = [];
for(const str of str_list){
if(!str.includes(ex)){
result.push(str);
}
}
return result.join("");
}
// 빈 배열 result 선언
// for of 반복문 이용, str 문자열에 ex가 포함되지 않으면 str 추가
// join 메서드 이용, 배열을 문자열로 변환 후 반환
90. 홀짝에 따라 다른 값 반환하기
문제 설명
- 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ n ≤ 100
입출력 예시
- 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.
- 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.
풀이
const solution = n => {
let result = 0;
if(n % 2 === 1){
for(let i = 1; i <= n; i+=2){
result += i;
}
} else {
for(let i = 0; i <= n; i+=2){
result += i*i;
}
}
return result;
}
// 변수 result 선언
// n이 홀수이면, n이하 모든 홀수의 합 반환
// n이 짝수이면, n이하 모든 짝수의 제곱의 합 반환
- 정답률 높은 순부터 풀이
- 매일 3문항 풀이
반응형
'프로그래머스 JS 코딩테스트' 카테고리의 다른 글
JS 프로그래머스 #28 - l로 만들기, 배열 비교하기, 순서 바꾸기 (48) | 2023.09.09 |
---|---|
JS 프로그래머스 #27 - 소문자로 바꾸기, 5명씩, 배열에서 문자열 대소문자 변환하기 (49) | 2023.09.07 |
JS 프로그래머스 #26 - 부분 문자열 이어 붙여 문자열 만들기, 문자열 붙여서 출력하기, 배열의 원소만큼 추가하기 (47) | 2023.09.06 |
Lv0 JS 프로그래머스 #25 - n보다 커질 때까지 더하기, 공백으로 구분하기 2, 문자열 바꿔서 찾기 (47) | 2023.09.05 |
Lv0 JS 프로그래머스 #24 - 배열 만들기 1, 주사위 게임 1, rny_string (38) | 2023.09.04 |