개발/코딩테스트
[JavaScript] 자원에 맞게 글 출력하기
prpn97
2023. 5. 5. 16:04
<문제 설명>
일정한 자원을 갖고 있는 특수한 컴퓨터로 글을 쓰려 한다.
A-Z순서대로 65-90의 비용이 소모되고, 공백은 32의 비용이 소모된다.
컴퓨터의 자원과 보내려는 글이 다음과 같을 때 보낼 수 있는 글을 출력하시오.
(단, 왼쪽 글자부터 순차적으로 전송한다.)
let str = 'K O R E A'
let count = 450
let abc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ '
let num = []
let result = []
let answer = ''
for(let i = 65; i <= 90; i++){
num.push(i)
} num.push(32)
for(let i = 0; i < str.length; i++){
let temp = abc.indexOf(str[i])
count -= num[temp]
result.push(num[temp])
if(count<=0)
break
answer+=str[i]
}
console.log(result)
console.log(answer)
<문제 풀이>
A-Z에 맞게 각각 65~90의 수가 주어지므로,
공백은 32의 숫자가 주어지기 때문에 변수에 A-Z와 공백을 넣었다.
65~90으로 다른 한 배열을 만들고, 동일하게 끝에 32을 넣었다.
주어진 문자열을 알파벳 배열에서 검사하여 해당 인덱스를 확인하고,
그 인덱스를 새로 만든 숫자 인덱스에서 사용하여 자원에서 차감했다.
그리고 0이하로 카운트가 떨어지면 멈추며 answer에 해당되는 문자열을 넣었다.
728x90