티스토리 뷰
📌문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/120834
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌나의 풀이
a부터 z까지 순서대로 들어간 문자열이 필요하다고 생각해서 유니코드를 이용해 str변수를 새로 만들었다.
매개변수로 들어오는 age의 값을 각각 나눠서 해당하는 정수를 a~z까지의 문자열(str)의 인덱스로 사용했다.
나눈 age값은 문자 배열 변수(arr)에 저장하여 배열 인덱스를 활용했다.
function solution(age) {
var answer = '';
let str = '';
let arr = [];
let numToStr = age.toString(); //정수를 문자열로 변경
arr = numToStr.split(''); //문자열을 잘라 배열에 저장 : ["2","3"]
//a~z 유니코드 : 97~122
for(let i=97; i<=122; i++){
str += String.fromCharCode(i);
//str = 'abc...xyz';
}
for(let i=0; i<arr.length; i++){
//배열의 문자열에 해당하는 번호의 알파벳 찾기
let num = Number(arr[i]);
answer += str[num];
}
return answer;
}
📌다른 풀이 방법
- 문자열 자체도 인덱스[] 접근 가능
function solution(age) {
return age
.toString()
.split("")
.map((v) => "abcdefghij"[v])
.join("");
}
문자열 자체도 인덱스가 있으니 바로 [v] 가 가능하다.
52 -> "52" -> ["5","2"]. -> ["abcdefghij"[5], "abcdefghij"[2] ] -> "fc"
복잡하게 생각했는지 코드가 많이 길어졌다. 다른 사람 풀이를 보니 짧게는 평균 3~4줄 사이에서 풀 수 있는 문제였다.
나는 알파벳 문자열을 만들려고 사용했지만 for문을 두 번이나 사용할 필요는 없는 것 같다!
'프로그래머스' 카테고리의 다른 글
[프로그래머스|JS] Lv.1 햄버거 만들기 (0) | 2025.02.24 |
---|---|
[프로그래머스|JS] Lv.0 배열 자르기 splice() 와 slice() 차이점 (0) | 2024.11.15 |
[프로그래머스|JS] Lv.1 문자열 섞기 (1) | 2024.10.30 |
[프로그래머스|JS] Lv.0 구슬을 나누는 경우의 수 (0) | 2024.10.17 |
[프로그래머스|JS] Lv.0 짝수 홀수 개수 (0) | 2024.10.16 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 타입스크립트
- useState
- ts
- overloading
- 노마드
- await
- 재귀함수
- CLI
- Cleanup
- 오버로딩
- splice
- 프로젝트회고록
- slice
- 리액트
- TypeScript
- 카카오로그인
- 챌린지1일차
- ReactJS
- create react app
- 오블완
- useEffect
- 프로그래머스
- NPM
- 자바스크립트
- 리액트네이티브
- props
- nomard
- React
- 티스토리챌린지
- Async
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함