python 3

[프로그래머스 python] 가장 많이 받은 선물

https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  처음 든 생각- 일단 주어진 입출력의 풀이를 보면 두 개의 표가 등장한다. 이걸 어떻게 활용할 수 있을까?- 첫번째 표는 유저의 수만큼의 정사각 행렬이다. -> 이차원 행렬로 나타내야겠다- 두번째 표는 선물지수를 구하는 건데 준 선물의 총합과 받은 선물의 총합은 위의 이차원 행렬의 가로합과 세로합으로 구하면 된다.- 비교의 순서는 주고받은 선물의 개수 확인 -> 똑같다면 선물 지수 확인 나의 답d..

python 코딩테스트 - DFS, BFS

DFS, BFS는 코딩테스트를 준비해봤다면 꼭 한 번 들어봤을 주제이고 실제로도 매우 자주 등장하는 유형이라고 한다. 그래프 자료구조의 탐색을 알고리즘으로 간단하게 말하면 원하는 데이터를 찾는 과정이다. DFS, BFS를 살펴보기 전에 두 가지 자료구조에 대해서 살펴보아야 한다. 스택 자료구조 먼저 들어온 데이터가 나중에 나가는 형식(선입후출, First in Last out)의 자료구조이다. 쌓기나무나 접시쌓기를 생각하면 된다. 접시를 하나씩 쌓는다고 생각해보자. 그러고 나서 사용할 접시를 집으려고 하면 맨 위에 있는 즉, 가장 마지막에 쌓은 접시를 사용하게 된다. 맨 처음 들어온 접시는 위에 접시가 다 사용되기 전까지는 사용할 수 없다. 스택을 파이썬 코드로 표현하면 다음과 같다. stack = []..

python 코딩테스트 - 그리디, 구현

그리디(Greedy Algorithm) 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. 그리디 해법은 단순히 가장 좋은 걸 선택하면 그것이 최적의 해인지 그 정당성을 판단하는 것이 매우 중요. 예제) 처음 든 생각 - 큰 놈이 중요한가, 작은 놈이 중요한가 - 일단 정렬을 해야겠다 - 그룹을 많이 만들어야되니깐 일단 작은 놈들부터 최대한 그룹을 짓는 게 유리하겠다 나의 답안 n = list(map(int, input().split())) n.sort() result = 0 count = 0 for i in n: count+=1 if count >=i: result +=1 count = 0 print(result) 공포도가 1이라면 빠르게 1명만 그룹으로 판단하는 것..

728x90