n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다
각 작업들은 순서대로 배포되어야 한다는 조건이 있으므로 생각보다 간단하게 풀 수 있다. 남은 작업량을 계산해주고 speed로 나눈 뒤 소수점이 생기면 무조건 올림하여 작업일을 구한다. 최초의 작업일을 설정해주고 다음의 작업일들을 계산하면서 기존 작업일보다 작거나 같은
풀이를 참고하였다 다음의 블로그에 자세히 설명되어 있으니 참고https://hongcoding.tistory.com/44
스택을 활용하는 문제이다. 괄호의 종류는 2개이므로 하나하나 검사해가며 풀면 된다. 이때 곱하기가 있으므로 (가 나오면 2를 해주고 \[가 나오면 3을 해준다. 하나씩 스택에 넣어가며 검사하고 검사 중 짝이 되지 않는 경우는 0으로 만든뒤 반복문을 탈출하면 된다.짝이
시간제한이 0.1초로 매우 짧아 자료구조를 적절히 활용해야 하는 문제이다. 단순하게 생각해서 중간값만 계속 계산해내면 되니 heapq를 2개 만들어 활용하면 된다.즉, 계속해서 중간값보다 작은 값을 저장하는 큐 하나와 그 반대되는 경우의 큐 하나를 만들어 저장하면 작은
그리디 방식으로 풀면 쉽게 풀 수 있다. 테이플의 길이 양옆으로 0.5씩 즉 테이프의 길이가 각 구멍 사이의 길이보다 1만큼만 더 크면 모두 막을 수 있기 때문에 각 구멍 간 길이를 비교하며 테이프의 길이와 같거나 클때 마다 테이프를 하나씩 더 쓰면 된다.
위상 정렬에 대해 익숙하지 않아 문제를 푸는데 애를 많이 먹었다. 위상 정렬에 대해 공부를 진행한 뒤 다시 푸니 의외로 쉽게 풀렸다.
한참을 해맨 문제. 문제만 보고 간단할줄 알고 막 덤벼들었다가 시간을 많이 소비했다. 측정가능한 구간을 상정하는데 한참을 생각하다 잘 안되서 풀이를 찾아보고 너무도 명확한 풀이를 발견해 해당 블로그를 참조하면 될 듯 싶다.https://aerocode.net/
파이썬의 heapq 라이브러리를 사용할 줄 안다면 쉽게 풀 수 있는 문제이다.heapq는 최소 힙 구조를 제공해주며 우선순위 큐라고 생각하면 된다.먼저 각 수업들의 시간을 입력받고 시작시간을 기준으로 정렬해준뒤 heapq에 넣어가며 끝나는 시간보다 먼저 수업이 시작되면
이 문제는 두가지 풀이법이 있다. top-down 방식으로 b를 a로 만들어가는 방식과 bottom-up 방식으로 a를 b로 만드는 bfs방식이 있다.문제에서 a를 b로 만들어가는 방식에는 x2 연산과 끝자리에 1을 붙여가는 방식이 있다. 즉, b가 짝수이거나 끝자리가
이 문제는 두 가지 방법으로 풀 수 있다.투 포인터 방법과 이진탐색 방법인데 투 포인터 방식은 간단하게 생각하면 금방 떠올릴 수 있다. 처음과 끝에서 시작해서 값을 비교해가며 답을 찾아가면 된다.이진 탐색으로 푸는 방법은 사실상 투포인터 방식과 비슷한데 용액의 i번째
간단한 그리디 문제이다.로프들을 하나씩 추가해 나가면서 들 수 있는 중량의 값을 갱신해나가면 되는데 w 중량의 물체를 k개의 로프로 들어올릴때 각 로프가 감당하는 무게는 w/k라는 점을 생각해서 코드를 작성하면 된다.
이 문제는 스스로 풀지 못했다. 처음에 풀이는 단순히 가장 큰 자릿수에 위치한 알파벳들부터 높은 숫자를 채우는 방식대로 풀려하였으나 정답이 아니었다.자세한 풀이는 다음의 블로그를 참고하였다.https://seongonion.tistory.com/111?cate
이 문제는 파이썬의 replace 함수를 통해 아주 간단하게 풀 수 있다.문제에 있는 크로아티아 알파벳들을 배열에 저장해둔 뒤 입력된 단어에서 크로아티아 알파벳 배열에 포함된 것들은 자릿수가 하나인 알파벳으로 바꾼 뒤 문자열의 길이를 출력하면 된다.이때, dz= 를 배
저 지그재그 순서를 처음에 이해를 잘 못해서 헤맨 문제이다.직접 일일이 그려가며 풀어보면 금방 풀 수 있는 문제였다. 배열 상에서 지그재그로 그려가면 각 대각선에 포함되는 분수들이 보이는데 첫번째는 1/1, 두번째 줄은 1/2, 2/1, 세번째 줄은 3/1, 2/2,
전형적인 dfs 문제이다. dfs 방식을 이용하여 주어진 두 사람 중 한명만 각 가족구성원과의 관계를 리스트에 저장한 뒤 출력하면 된다.
BFS를 사용하면 쉽게 풀 수 있는 문제이다.각 영역들의 좌표를 이용하여 직사각형이 그려진 영역은 1로 채우고 나머지 영역은 0으로 채워둔다.0으로 채워져 있는 영역의 넓이를 구하고 더 구하지 못할 때 리스트에 추가하는 방식으로 각 영역의 넓이를 리스트에 채우면 된다.