본문 바로가기

프로그래머스22

[프로그래머스] 77884번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr left와 right 라는 두 정수가 주어지면, left와 right를 포함한 그 사이의 모든 수 중에서 그 수의 약수 개수가 짝수면 더하고, 홀수면 뺀다. 약수의 개수를 구하는 알고리즘은 어렵지 않았다. for문을 돌려 1부터 해당 숫자까지 범위로 잡고 나눠서 나머지가 0이면 count + 1 해주.. 2022. 6. 15.
[프로그래머스] 12933번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 정수 n을 받아 각 자리수를 큰 것부터 작은 순으로(내림차순으로) 정렬한다. 문제 파악도 쉽고 엄청 짧은 코드로 쓸 수 있을 것 같았는데, 쓰다보니 꽤 길어졌다. n을 string의 형태로 다시 정의하고 n의 첫번째 숫자부터 하나씩 배열로 받았다. 이후 그 배열을 내림차순으로 정렬하고, 반복문을 만들어 .. 2022. 6. 15.
[프로그래머스] 42587번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 순서대로 입력받은 인쇄물을 중요도에 따라 재정렬하여, 내가 입력한 출력물은 몇 번째로 나오는지 구하는 것이다. key, value가 있어야하기 때문에 dictionary를 생각해봤는데, dict는 정의하고 시작하는 방법밖에 떠오르지 않아서 패스. enumerate 기능을 사용했다. for 문에서 자주 등장시켰던 기능이다. deque 안에 enumerate.. 2022. 6. 15.
[프로그래머스] 12906번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 배열을 이용하면 금방 푸는 문제다. 처음에 set를 이용할까 생각해봤는데, 그렇게 하면 순서가 보존되지 않고, 중복되는 모든 수가 사라지기 때문에 두 가지의 문제점이나 발생한다. pop을 이용하는 방법도 생각해봤으나 그렇게하면 i번째 배열에 대한 혼선이 생겼다. 그래서 answer라는 배열을 하나 더 만들어 조건에 맞는 경우.. 2022. 6. 15.