본문 바로가기

일반 학습/코딩 테스트59

[프로그래머스] 가장 큰 수 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/42746 풀이 입력값 : solution([6, 10, 2]); 우선 입력으로 들어온 numbers를 자세히 보자 6 ,10 ,2이며 sort로 정렬하여 앞 뒤를 문자열로 타입을 바꿔 서로 더해보고 더 높은 수가 나오는 순서를 정렬 시켜본다고 하자. 위 처럼 numbers.sort안에 인자로 함수를 넣어 각각 앞 뒤로 비교해서 string타입으로 합쳐주고 parseInt로 크기를 비교해 위치를 정렬하게된다. sort는 한차례 돌고나서 계속 몇 차례가 돌면서 더 이상 바꿀 자리가 없으면 종료되므로 numbers가 최종 정렬되고 join("")으로 합쳐주면 최종 숫자가 나오게된다. 문제를 풀고나니 1.. 2022. 3. 17.
[프로그래머스] 프린터 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/42587 풀이 입력 : solution([2, 1, 3, 2], 2); priorities 는 대기목록이며 location은 이 priorities 에서 출력이 완료된 순서목록에서 찾을 index이다. 대기목록에서 조건에 맞게 프린터를 하고 난 순서에서 우리는 location을 찾을 것이고 대기목록에서 출력이 완료된 문서는 사라질 것이니 작업전에 각 우선순위를 담은 객체를 생성하였다. 키는 인덱스로 값은 우선순위를 넣어 생성한다. 이후 대기목록의 첫번째 문서의 우선순위를 객체에서 불러오고 이후 for문을 돌려 두번째 문서들부터 하나하나 비교해가면서 만약 한번이라도 첫번째 문서보다 큰 우선순위가 있.. 2022. 3. 16.
[프로그래머스] 기능개발 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/42586#qna 풀이 progresses에 각 작업 %가 들어간 배열이 들어온다. 이 배열은 맨앞에 작업이 100%가 되어야 뒤에 있는 작업들의 %을 검사할 것이고 100%가 된것들만 한번에 작업배열에서 나가게된다. 각 작업은 speeds에 있는 배열인덱스에 맞게 작업 %가 올라가게 될 것인데 먼저 progresses의 0번째 인덱스가 100이상인지 검사한다. 맞다면 이 작업은 무조건 일단 나간다. 그러므로 count를 ++ 하고 이제 뒤에 나갈수 있는 인덱스가 순서대로 100인지 검사한다. 1번째 작업부터 검사하므로 j와 j-1이 모두 100이상이어야 j는 나갈수 있다. 나가는 j는 count+.. 2022. 3. 15.
[프로그래머스] 주차 요금 계산 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/92341 풀이 입력 : solution([180, 5000, 10, 600],["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"]); 두번째 인자로 받은 자동차의 입차출차기록을 배열로 split하여 나눠주는 것으로 시작했다. 그런다음에 빈 객체 note를 만들었고 객체key값은 중복되지 않는다는 점을 이용해 총 입출차 기록을을 for문을 돌려 검사하면서 차량번호들을 not.. 2022. 3. 14.
[프로그래머스] k진수에서 소수 개수 구하기 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/92335#qna 풀이 입력으로 들어오는 n을 k진수로 바꾸기위해 toString(진수)를 사용하여 a에 k진수로 변환된 값을 담았다. 문자열b를 빈문자열로 할당하였고 0이나오기전까지 b에다가 쌓다가 0이나오면 지금까지 쌓은 문자를 isPrime함수인자로 넣어 소수를 계산하게 된다. 1은 소수가 아니니까 애초에 검사할 필요가 없으므로 쌓여가던 b가 오로지 1이거나 빈 문자일때는 무시하고 b를 빈 문자로 비우게 된다. 계속 잘 쌓다가 0이 더이상 나오지않고 for문이 끝날 수 있으니 for문의 끝에서 다시한번 0이 나왔을때 하는 검사를 하게된다. 조건문은 같다. 이외에는 정상적으로 계속 b에다가 쌓게.. 2022. 3. 12.
[프로그래머스] n진수 게임 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/17687 풀이 입력값 : solution(16, 16, 2, 1); 우선 입력형식을 잘봐야했다. 진법n과 게임에 참가하는 인원m, 튜브순서p는 어떤 값인지 이해가 됐지만 미리구할 숫자갯수 t는 무슨뜻인지 몰랐고 처음 이해한 바로는 숫자t까지 구한다는 뜻인줄 알고 t까지의 n진법을 모두 표현해서 result에 담아보았다. 결과를 보면 아래처럼 18개의 요소가 들어간다. 그럼 여기서 상단 입력값중 튜브가 위치한 순서인 p는 1로써 맨처음이니 0,2,4,5,6,8,A,C,E,1이다. 문제 입출력예제이는 뒤에도 1이 몇개가 더붙여서 결과를 보여주는데 이는 내가 t의뜻을 잘못 이해한 것이다. 출력형식에 보.. 2022. 3. 11.