▶repeat() 메서드를 활용한 간단한 문제가 있어 정리해보고자 합니다.
문제설명
직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 × 1 크기의 정사각형 크기의 픽셀로 이루어져 있습니다. 이 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 매개변수로 주어질 때, 이 그림 파일을 가로 세로로 k배 늘린 그림 파일을 나타내도록 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ picture의 길이 ≤ 20
- 1 ≤ picture의 원소의 길이 ≤ 20
- 모든 picture의 원소의 길이는 같습니다.
- picture의 원소는 '.'과 'x'로 이루어져 있습니다.
- 1 ≤ k ≤ 10
입출력 예 & 설명
입출력 예 #1
- 예제 1번의 picture는 다음과 같습니다.
- 이를 가로 세로로 k배, 즉 2배 확대하면 그림 파일은 다음과 같습니다.
따라서 ["..xxxx......xxxx..", "..xxxx......xxxx..", "xx....xx..xx....xx", "xx....xx..xx....xx", "xx......xx......xx", "xx......xx......xx", "..xx..........xx..", "..xx..........xx..", "....xx......xx....", "....xx......xx....", "......xx..xx......", "......xx..xx......", "........xx........", "........xx........"]를 return 합니다.
입출력 예 #2
- 예제 2번의 picture는 다음과 같습니다.
이를 가로 세로로 k배, 즉 3배 확대하면 그림 파일은 다음과 같습니다.
따라서 ["xxx...xxx", "xxx...xxx", "xxx...xxx", "...xxx...", "...xxx...", "...xxx...", "xxx...xxx", "xxx...xxx", "xxx...xxx"]를 return 합니다.
나의 풀이
picture 문자열 배열의 각 요소를 접근하기위해서 두 번의 for문을 사용합니다.
4번째 for문에서 각 row를 접근하고, 각 row별로 k배 늘린 문자열을 리턴하기 위해 line 변수를 선언해 줍니다.
그리고 7번째 for문에서 각 row의 문자열요소를 char에 저장하고, 각 요소를 for문을 사용하여 k번 늘려줍니다.
그리고 마지막으로 20번째 줄에서 k만큼 반복하는 for문을 사용하여 가로로 k번늘린 line을 k번 answer 배열에 push를 하여 마무리했습니다.
다른 풀이
다른 풀이에서는 "나의 풀이"와 비슷한 맥락인데 forEach문을 사용하여 picture배열에 접근합니다.
for of문을 사용하여 각 row의 문자요소를 접근해 줍니다.
그 후 가로 row는 repeat() 메서드를 사용하여 k번 반복을 한 문자열을 line에 저장해 주고, 세로는 9번째 for문을 사용하여 k번 push를 하여 마무리했습니다.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 배열 만들기 2 (JavaScript) (0) | 2024.02.21 |
---|---|
[프로그래머스] 전국 대회 선발 고사 (JavaScript) (0) | 2024.02.20 |
[프로그래머스] 무작위로 K개의 수 뽑기 (JavaScript) (1) | 2024.02.18 |
[프로그래머스] 문자열 뒤집기 (JavaScript) (1) | 2024.02.17 |
[프로그래머스] 조건 문자열 (JavaScript) (1) | 2024.02.16 |