알고리즘 풀이 10

[프로그래머스]K번째 수(javascript)

오랜만에 프로그래머스 문제를 풀어봤다. k번째 수라는 문제였다. 특이했던 점은 테스트 2번에서만 계속 통과가 되지 않아서 구글링을 통해 원인을 알아봤다. 원인은 자바스크립트에서 단순히 sort만 사용했을 때는 안의 값을 문자열로 취급하여 유니코드 값 순으로 배열을 정렬한다. 예를 들어 [1, 10, 101, 61, 45].sort()로 사용하면 결과값은 [ 1, 10, 101, 45, 61 ] 이 나온다. 이를 해결하기 위해서는 위의 코드 처럼 콜백함수를 넣어 주어야 한다.

알고리즘 풀이 2022.02.28

[프로그래머스]기능개발(javascript)

lv.2 난이도의 문제이다. 큐를 이용해서 문제를 해결했다. 100에서 progress 값을 빼주고 speeds로 나눴을 때, 나머지가 0이 아니면 num(기능이 완성되는데 걸리는 일수)에 +1를 해주었다. 그리고 Math.floor를 통해서 num를 내림 처리해주었다. 자바스크립트는 기본적으로 실수 소수점으로 값을 반환하기 때문에 내림처리를 해주지 않으면 정말 그대로 실수로 값을 저장한다.

알고리즘 풀이 2021.07.27

[프로그래머스]문자열 압축(javascript)

프로그래머스 lv.2 문제이다. 처음에는 첫 반복문을 i를 1부터 s.length까지로 설정하고, j에 num대신 i를 더하도록 했지만, 테스트 케이스 5에서 계속 통과를 하지 못했다...질문하기에서 알아보니, 테스트케이스 5에서는 문자열 하나만 들어와서 i=1로 설정하면 s.length도 1이되어 애초에 반복문 자체를 수행할 수 없게된 것이었다.

알고리즘 풀이 2021.07.27