개발/코딩테스트

[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