본문 바로가기
항해

알고리즘 문제

by ho-bolt 2022. 3. 14.

1. 자바스크립트로 직사각형 별찍기

for문으로

 

repeat함수를 이용해서 

repeat함수 : 

string.repeat(count)형식으로 반복하고 싶은 문자열에 반복할 개수를 repeat()안에 넣으면 된다. 

 

 

2. 가운데 글자 가져오기

문제: 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

 

substr()이용하기 

substr()함수는 문자열을 잘라주는 함수이다. 두개의 파라미터를 받는데 substr(시작하는 인덱스, 개수,길이)

를 받는다. 그래서 문자열 s의 길이를 반으로 나누고 올려서 1을 빼면 가운데 인덱스가 나오고 짝수이냐 홀 수 있냐에 따라서 길이를 정해준다. 

 

3. 없는 숫자 더하기 

 

0~9까지의  정수 배열 numbers에서 없는 숫자를 찾아 더하는 문제이다. 

우선 0부터 9까지의 총합이 45이니 정수배열안에 합을 구한다음 45를 빼는 방식으로 생각했다. 

 

다른 사람의 풀이에서  reduce 함수를 사용한 것이다. 

reduce함수는  배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환하는 함수이다.

리듀서 함수로는 서로 더하기를 해주었고 초기값을 0으로 설정했다. 그러면 acc에 cur을 더한 값이 누적되면 하나의 acc가 출력되고 이는 numbers 배열의 합을 의미한다.

 

 

4. 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

slice()함수는 어떤 배열의 (start,end)까지를 잘라서 주는 함수이다. 하지만 원본에서 새롭게 배열하는 것은 아니고 end도 미포함인 상태로 잘라서 만든다. 

 

즉 여기서는 핸드폰 길이만큼 *를 반복해주고 뒤에서부터 4개만 잘라서 붙인다라고 말할 수 있다. 

 

 

5. 부족한 금액 계산하기 

새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
단, 금액이 부족하지 않으면 0을 return 하세요.

 

 

놀이기구를 반복적으로 탈 때마다 누적할 수 있고 하였고 Math.abs()라는 절댓값 함수를 이용해 부족한 금액을 구했다. 

 

삼항연산자를 이용해 풀기

728x90

'항해' 카테고리의 다른 글

WebRTC에 대한 이해  (0) 2022.06.09
핸드폰 번호 하이픈형식으로 출력되는 문제 영상  (2) 2022.03.17
알고리즘 3  (0) 2022.03.17
알고리즘 2  (0) 2022.03.14
항해 1주차 회고록  (2) 2022.03.13

댓글