본문 바로가기

코딩테스트43

[Programmers][Python] 아방가르드 타일링 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181186 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 처음 작성한 코드패턴의 수먼저 가능한 패턴을 세보자. (3x3에서 1x3과 2x3로 나뉘는 경우 처럼 하위 문제로 나뉠 수 있는 개수는 세지 않는다)1x3에서는 1x3의 막대 하나만 존재할 수 있다.2x3에서는 ㄱ자 모양의 타일 두 개를 이용해 두 가지 경우를 만들 수 있다.3x3에서는 그림과 같이 5가지 경우를 만들 수 있다. 4x3, 5x3, 6x3은 다음과 같이 2, 2, 4 경우의 수가 존재한다.7x3부터는 각 4x3, 5.. 2025. 4. 23.
[Programmers][Python] 서버 증설 횟수 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 처음 작성한 코드서버의 증설 기록을 저장한 server_table에 저장한다.기록의 범위가 크지않아 기록 이용active_server_count k시간의 범위 만큼 증설한 서버를 이용하는 한다.순회를 하기 때문에 active_server_count 변수를 이용해 추가된 서버와 만료된 서버의 개수를 누적시킨다. 시간당 게임 이용자의 수를 순회한다.만료된 서버(i - k)를 active_server_count에서 차감필요한 서버의 개.. 2025. 3. 22.
[Programmers][Python] 징검다리 건너기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음 작성한 코드슬라이싱을 이용하여 리스트를 한 번만 확인한다.개인적으로 생각했을때 문제의 출제의도는 '20만 번의 배열 크기', 자연수의 범위라는 조건과 탐색이라는 조건을 생각했을 때 바이너리 서치를 이용하여 시간복잡도를 O(nlogn)까지 줄이라는 의미이다. 하지만 DP? 를 이용해 조금 더 줄여보자.k범위의 디딤돌이 모두 소모가 되었을 때 징검다리를 건널 수 없다.이 의미는 k범위 .. 2024. 6. 17.
[Programmers][Python] 배열 만들기 2 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음 작성한 코드바이너리 변환을 이용하였다.0과 5로 이루어진 수만 존재하기 때문에 5를 1로 치환하면 이진수와 같게 된다.최댓값인 r의 자릿수를 이용해, 이진수의 범위를 r의 자릿수만큼의 2의 지수 범위로 정할 수 있다.ex) 555 -> 111 -> 7, (3자리 수 이므로 '(2 ** 3) - 1 = 7'이 된다. 다음으로 range 함수에서는 미만의 수까지만 세므로,  -1을 할.. 2024. 5. 22.
[Programmers][Python] 세로 읽기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 비슷한 문제 qr code https://school.programmers.co.kr/learn/courses/30/lessons/181903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 문자열의 슬라이싱을 먼저 .. 2023. 5. 4.
[Programmers][Python] 문자열 돌리기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 간단하지만 어떻게 문자열을 나누어 한 줄에 한 글자씩 출력할 수 있게 하는지 여러 방법이 있어 포스팅하였다. 처음 작성한 코드 루프문을 이용한 기본적인 풀이이다. for i in input(): print(i) 다른 코드 [코드1] join 함수를 이용하여 글자사이를 '\n'로 추가한다. print('\n'.join(input())) [코드2] replace 함수를 이용하.. 2023. 5. 2.