본문 바로가기

코딩테스트43

[Programmers][Python] 멀쩡한 사각형 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 직사각형을 가로로 길게 눕힌 뒤, x값에 따라 y값을 측정하여 빈칸이 된 상자의 개수를 체크한다. 우선 시행 횟수를 줄이기 위해, GCD(최대공배수)를 구한다. GCD는 크기 w x h의 사각형을 gcd 만큼의 크기 (w//gcd) x (h//gcd)의 사각형으로 나눌 수 있다. ex) 12 x 8 사각형 -> 4개의 3 x 2 사각형 x값에 따른 y값을 구한다. x.. 2023. 5. 1.
[Programmers][Python] H-index 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 h 번 이상 인용된 논문이 h 편 이상인 조건을 잘 이용을 해보자. 반대로 말하면 인용된 논문이 많은 논문부터 h 편을 나열하면 h 번째 논문은 h 번 이상 인용돼야 한다. 입력된 배열 citiations을 오름차순으로 정렬한다. 루프문에서 pop 함수를 이용해 역순으로 값을 가져올 것이다. 루프문에서 h를 1부터 행렬의 최대 길이까지 반복한다. h를 0부터 하지 않.. 2023. 4. 26.
[Programmers][Python] 두 원 사이의 정수 쌍 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 문제를 한 사분면으로 범위를 줄이고 각 x 좌표에 따른 y값을 이용해 점들의 개수를 합치는 풀이이다. 그림에서 두 개의 원은 중심은 (0, 0)으로 동일하므로 각 사분면에 대한 점들의 위치와 개수는 동일하다 할 수 있다. 따라서 빨간색 사각형으로 칠한 사분면 하나에 대한 점들의 개수만 구하기로 한다. 각 x값에서의 y값을 원 r1은 y1, 원 r2는 y2로 지정했다.. 2023. 4. 14.
[Programmers][Python] 멀리 뛰기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 경우의 수를 계산한 풀이 n개의 종류의 요소 {a1, a2, ..., an} 가 합쳐서 m개가 있을 때 나올 수 있는 경우의 수는 m! / (a1! * a2! * ... * an!)가 된다. 이 문제에서는 1번 뛰기와 2번 뛰기만 존재하므로 요소는 {a1, a2} 두 개만 고려하면 된다. 2번 뛰기 요소가 하나 늘어날 수록 1번 뛰기 요소의 개수가 하나씩 줄어들게 된.. 2023. 4. 8.
[Programmers][Python] 영어 끝말잇기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 첫 문자에 대한 변수 설정을 해준다. 첫 번째 사람은 탈락하지 않기 때문에 괜찮다. words_lst 리스트는 지금까지 불린 단어를 저장하게 된다. last_spell 변수는 직전 단어의 마지막 스펠을 저장하게 된다. enumerate를 이용하여 words 리스트에서 두 번째 문자부터 가져와 조건을 체크한다. 가져온 글자의 첫 스펠과 앞 글자의 마지막 스펠이 일치하고.. 2023. 4. 7.
[Programmers][Python] 체육복 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 각 학생들이 소지한 체육복의 개수를 정리하고, 탐욕법을 이용해 앞 뒤 학생에게 빌릴 수 있는 경우를 찾아 적용한다. 각 학생들이 소지한 체육복 개수를 리스트에 정리한다. cloth_lst 리스트를 생성하여 n개의 요소에 1을 선언한다. lost 리스트에 있는 학생들은 요소에 -1을 더하여 체육복의 개수를 0으로 만들어준다. reserve 리스트에 있는 학생들은 요소에.. 2023. 4. 7.