본문 바로가기

알고리즘/Solving19

[Programmers 파이썬] 124 나라의 숫자 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 문제 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 처음엔 그냥 3진법으로 변환하면 되지 않을까??해서 왜 level2지 라고 생각했던.. 2022. 6. 23.
[BOJ 11000 파이썬] 강의실 배정 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 그리디 알고리즘에서 자주 보이는 유형이고, 2022. 6. 22.
[Programmers 파이썬] 기능개발 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 이 문제는 파이썬의 list 자료구조에 대해 확실히 이해하고 있어야 풀 수 있던 문제같다. 처음에는 pop(0)로 그냥 풀까 하다가 반복문 내부에 O(n) 시간이 걸리는 작업을 해주면 O(n^2)의 시간이 걸리는 것을 알고 있었기에 다음과 같이 풀수 있었다. def solution(progresses, speeds): answer = [] total = 0 progresses.reverse() speeds.reverse() while True: temp .. 2022. 6. 22.
[Programmers 파이썬] 문자열 압축 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 카카오 2020 공개채용 문제이다. 특별히 사용한건 없고, 우선 나는 새로운 배열에 문자열을 부분부분 나눠서 저장해주고 시작했다. 처음에는 그냥 새로운 문자열을 만들어주기보단, 만들어질 문자열의 길이를 미리 예측하여 더해주려고 했으나, aaaaaaaaaa -> 10a result 3 a -> result 1 등의 예외 처리해줄 것이 너무 많아 이내 새로운 문자열을 그냥 만드는 것으로 방향을 틀었다. def solution(s): answer = len(s.. 2022. 6. 22.