Algorithm (PS)

·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 연산자의 우선순위를 정하는 것을 순열 라이브러리로 구해 모든 경우를 확인해주는 brute force방법으로 풀었다. 계산할 때는 연산자 우선순위대로 순회한다. 해당 연산자를 계산하는 순서가 되었을 때, 연산을 한다. expression 에서 해당 연산자가 아니라면 피연산자 취급을 해서 스택에 쌓는다. x + y 라고 할 때 먼저 오는 x 에 해당하는 피연산자는 stack에 쌓인 것 중 맨 위에 있..
·Algorithm (PS)
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 삼성 코딩테스트에서는 collections 라이브러리를 못쓰게 한다는 소식을 듣고 ~ n과 m을 풀어보았읍니다.. 비내림차순으로 순열을 구하는 알고리즘입니다 중복된 값을 출력하는 것을 방지하기 위해, 처음에 입력받는 숫자들을 set()으로 묶어서 중복된 숫자를 빼줍니다 import sys input = sys.stdin.readline n, m = map(int, input().split())..
·Algorithm (PS)
https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net 어렵다고 생각한 구현문제이다 삼성 기출문제이다 풀이방법 1 .경계선 표시하기 : 경계선에 5 라고 저장하기 2. 구역 1, 구역2, 구역 3, 구역 4의 각각 구역마다의 총인원수를 구해준 후에 구역 5는 (전체 인구수) - (구역1+구역2+구역3+구역4) 3. max값과 min값의 차이가 최소값이 되는 경우로 갱신해주기 인데 구현을 디테일하게 해주어야 한다.. 1) 예시는 맞았으나 히든케이스에서 틀린 ..
·Algorithm (PS)
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net k, n = map(int, input().split()) lines = [] for i in range(k): lines.append(int(input())) start = 1 end = max(lines) while start 랜선 길이를 늘려도 된다 start = mid+1 print(end)
·Algorithm (PS)
https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 이진탐색으로 높이 H 값을 빠르게 찾는 문제이다. 백준 1654번 랜선자르기와 풀이방법이 유사하다 ~ https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,0..
·Algorithm (PS)
https://www.acmicpc.net/problem/20364 20364번: 부동산 다툼 첫 번째 줄에 땅 개수 N과 꽉꽉나라에 사는 오리 수 Q가 공백으로 구분되어 주어진다. (2 ≤ N 0: if node in visited: answer = node # 역순으로 방문하므로 가장 최신의 node가 처음 만나는 node가 된다. node //= 2 if answer == 0: # 이미 차지한 땅을 방문하지 않은 경우 visited.add(x) print(answer) for i in range(q): x = int(input().rstrip()) traverse(x)
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/72412?language=python3# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Hash 자료구조와 이진탐색을 이용하여 효율성을 맞혀야 하는 문제이다. 어려웠따.. 백준 환경에 익숙해져있는 상태인데, 기업 코딩 테스트를 위해 프로그래머스 환경에서 좀 연습을 해야겠다 딱봐도 for문으로 빡빡 돌려서 구하면 시간 초과날 것 같다 ㅎㅎ i) dictionary 구성하기 이 딕셔너리를 구성하는 것이 문제해결의 포인트이다. info 값으로 , java ..
·Algorithm (PS)
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 구현을 열심히 해주면 되는 문제~~ 뱀의 위치표현을 정확하게 하는 방법이 관건이라 생각한다. 사과를 먹으면 뱀의 현재까지 위치는 그대로 + 사과가 있던 위치(= 새로 이동한 칸)를 append 해준다. 칸에 사과가 없는 경우 뱀은 꼬리좌표를 pop 시키고, 새로 이동한 칸을 append해준다. + 그리고 rotate할 때 꿀팁 -1 %4 == 3 이다. 마이너스도 % 연산을 할 수 있다..!! 굉장히 간..
minjiwoo
'Algorithm (PS)' 카테고리의 글 목록 (14 Page)