전체 글

Alogorithm/programmers

[programmers] Lv2 올바른 괄호 - Python & Java

https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - stack을 이용하는 문제이다. - 입력되는 문자를 반복문을 통해 하나씩 체크하면서 여는 괄호('(') 일 때는 stack에 누적하고 닫는 괄호(')') 일 때는 스택에 쌓인 것을 하나 제거한다. - 중간에 stack에 없는데 닫는 괄호가 나오는 경우와 반복문이 끝나고 stack에 여는 괄호가 남아있는 경우는 올바르지 않은 괄호이다. - stack을 굳이 배열로 하지않고 숫자 카운팅으로 진행해..

Alogorithm/programmers

[programmers] Lv2 2xn 타일링 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - DP 문제였다. - dp를 하기 위해 테이블 초기값을 직사각형이 0., 1, 2개 일 때 값을 미리 설정해 준다. - 이후 3부터 n까지 아래 코드와 같은 식으로 테이블을 채워 나간다. def solution(n): dp = [0, 1, 2] # 2 x n 타일을 채울 때 n이 0, 1, 2일 때 나올 수 있는 경우의 수 if n > 2: # n이 3보다 큰 경우 진행 dp += [0] * (..

Alogorithm/programmers

[programmers] Lv2 124 나라의 숫자 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 1, 2, 4 세 가지 숫자기 때문에 3으로 나누어 나온 나머지를 answer 앞에 붙여서 수를 완성한다. def solution(n): answer = '' check = {1: '1', 2: '2', 0: '4'} while n > 0: answer = check[n % 3] + answer n = (n-1) // 3 return answer ※ 잘못된 점, 개선점 등이 있다면 언제든 댓글..

Alogorithm/programmers

[programmers] Lv2 두 원 사이의 정수 쌍 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 처음에 2중 for문으로 문제를 쉽게 하려했으나 역시 시간초과가 발생했다. for문을 한번만 쓰는 방법으로 해결했다. - 1사분면과 하나의 축 위에 있는 점만 계산하여 x4로 return 한다. - 축 위에 있는 점의 수는 r2 - r1 이며 r1 위에 있는 점도 가능하기 때문에 +1 을 해준다. - 0 < y < r2 사이의 y좌표를 따라 반복문을 진행한다. - 해당 y좌표에서 r2 내에 ..

Alogorithm/programmers

[programmers] Lv2 요격 시스템 - Python & Java

https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - greedy 문제이며 프로그래머스 Lv3 단속 카메라 문제와 거의 흡사한 문제이다. - 아래의 포스팅은 참고자료 단속카메라 참고자료이다. https://kcw0360.tistory.com/29 [programmers] Lv3 단속카메라 - Python https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개..

Alogorithm/programmers

[programmers] Lv3 단속카메라 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 카메라를 최소로 하기 위해 겹치는 구간을 찾는 문제이다. - 고속도로에서 나가는 점을 기준으로 해서 주어진 값들을 정렬을 한다. - 카메라 설치 위치는 정렬의 기준인 진출 지점으로 정한다. - 카메라 설치 위치가 현재 구간의 진입 지점 위치에 도달하지 못하는 경우에는 카메라가 추가로 필요하다. - 카메라 수를 늘리고 카메라 설치 위치를 진출지점으로 갱신해 주며 반복문 수행한다. def solu..

Alogorithm/BAEKJOON

[BAEKJOON] 20058 마법사 상어와 파이어스톰 - Python

https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net - 남아있는 얼음의 합, 가장 큰 덩어리가 차지하는 칸의 수를 구하는 구현문제였다. - 조건에 따라 차례대로 구현을 진행했다. - 회전하는 부분이 헷갈렸다. for문 말고 딱히 어떻게 표현해야 할지 몰라서... - 그 이외에는 특별한게 없었고 얼음 덩어리 찾는 곳에서는 BFS를 사용하여 덩어리를 찾았고 max로 갱신하면서 진행했다. import sys input = sys.st..

Alogorithm/BAEKJOON

[BAEKJOON] 20057 마법사 상어와 토네이도 - Python

https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net - 조건도 난도가 높거나 복잡하게 주어진 것이 아니었기 때문에 크게 어려움은 없었던 것 같다. - 토네이도의 이동(방향)과 조건대로 흩날리는 모래(그림)가 전부였던 문제 import sys input = sys.stdin.readline N = int(input()) sand = [list(map(int, input().split())) for _ in range(..

Alogorithm/programmers

[programmers] Lv2 연속된 부분 수열의 합 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 투 포인터 알고리즘을 이용하여 특정한 합을 가지는 부분 연속 수열을 찾는 문제이다. - 알고리즘에 대한 자세한 설명은 나동빈 님의 이것이 코딩 테스트다 관련 유튜브를 참고하면 좋을 것이다. https://www.youtube.com/watch?v=ttLRltNDiCo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=39 def solution(sequence..

Alogorithm/programmers

[programmers] Lv2 마법의 엘리베이터 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 입력받은 층 수를 각 자릿수로 분리하고 1의 자릿수를 가리키는 idx로 초기화한다. - 0층으로 내려가기 위해 돌의 개수를 최소로 소모하기 위해서는 해당 자리의 수가 어디에 위치해 있는지에 따라 아래로 내려갈 것인지 위로 올라갈 것인지 판단한다. - 가리키는 idx가 0 ~ 4인 경우는 내려가는 것이 돌의 소모가 적고 6~9인 경우는 올라가는 것이 돌의 소모가 적다. - 5에서는 경우의 수가..

Dorobo
'분류 전체보기' 카테고리의 글 목록 (2 Page)