Algorithm

https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 설명은 위 링크로 대신하고 넘어가겠다. 풀이 처음에는 N에 대한 숫자와 M에 대한 숫자를 리스트로 받아서 조건문을 이용해서 M의 리스트 요소가 N의 리스트에 있는지 확인하는 방법으로 풀이를 하였다. 그러나 이 방식으로 풀면 시간초과가 나와서 다른 방식을 사용해야 했다. 이때 힌트를 보니 해시를 이용하라고 되어있길래 그제서야 set이 생각났다. 물론 파이썬에서 해..
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 설명은 해당 링크에서 보면 되므로 하고 넘어가겠다. 풀이 이 문제는 단순하게 정수를 잘 나누기만 하면 쉽게 풀리는 문제이다. DP인게 힌트가 될 수 있는게 DP의 개념이 큰 문제를 작은 문제로 나누어 작은 문제를 해결해 큰 문제를 푸는 것이기 때문에 주어진 정수 N을 그보다 작은 수의 합으로 나누어 계산하면 된다. 그럼 어떻게 N을 나누면 결과를 얻을 수 있을까? 여기서 잘 생각해보면 사실 N보다 작은 수들의 경우는 이미 계산을 한 상태라고 할 수 있다. 즉 N-1에 1을 더하면 N이 나오..
문제 설명 이 문제는 2024 카카오 윈터 인턴십 문제로 친구 리스트와 선물을 주고 받은 목록을 입력받아 특정 조건을 만족하여 다음달에 선물을 가장 많이 받는 친구의 선물 갯수를 반환하는 문제이다. 해결 방법 먼저 파이썬으로 이 문제를 해결하였으며 기본적인 해결 방식은 먼저 각 친구별로 선물 받거나 준 횟수를 2차원 리스트로 만들고 이 2차원 리스트를 가지고 각 친구마다 몇개의 선물을 주고 받았는지 계산하고 선물 지수 라는 값을 계산하여 다음 달에 선물을 받을 갯수를 구하는 방식으로 진행했다. 코드 설명 먼저 각 친구마다 선물을 주고 받은 갯수와 선물 지수를 구하기 위해 2차원 리스트를 만든다 gift_mat = [[0 for _ in range(len(friends))] for _ in range(le..
해결방식 이 문제를 풀때는 python3를 가지고 해결하였다. 문제의 내용은 일정 시간 마다 공격을 받아 체력이 깎이거나 공격을 받지 않아 체력을 회복하거나 두개의 동작을 수행하는 프로그램이 있을때 해당 프로그램을 짜는 것이다. 그렇기 때문에 반복문과 조건문을 이용하여 문제를 해결했다. 공격 시 동작 for i in range(1,attacks[-1][0]+1) : #공격 시간일때 동작 if i == attacks[number][0]: answer=answer-attacks[number][1] #공격 받은 후 체력 계산 bonusCount=0 #추가 회복 시간 초기화 number=number+1 #다음 공격을 위한 공격 횟수 추가 # 체력이 0이하면 바로 종료 if answer =health : answ..
Castle Hyeon
'Algorithm' 카테고리의 글 목록 (2 Page)