본문 바로가기

백준61

[BOJ] 백준 2217번:로프 그리디 문제를 풀어보려 합니다. https://www.acmicpc.net/problem/2217 2217번: 로프 N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 www.acmicpc.net 문제 설명 로프 문제는 N개의 로프가 버틸 수 있는 중량이 주어집니다. k개의 로프를 사용하여 중량이 w인 물체를 들어 올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 됩니다. 이때 k개의 로프를 적절히 사용하여 들어올릴 수 있는 중량의 최대는 몇인지 구하는 문제입니다. 문제 풀이 먼저 로프의 중량을 정렬합니다. k개의 로프를 사용하는 경우.. 2020. 11. 29.
[자료구조] 큐 (Queue) C/C++ 구현 - 알고리즘 저번 글은 스택 구현에 대해 알아봤습니다. 2020/10/30 - [알고리즘] - [자료구조] 스택 (Stack) C/C++ 구현 - 알고리즘 [자료구조] 스택 (Stack) C/C++ 구현 - 알고리즘 스택이란 스택은 우물과도 같습니다. 가장 마지막에 들어간 데이터가 맨위에 쌓이게 되고, 데이터를 가져올 때 맨 위에 쌓인 (즉, 가장 마지막에 들어간) 데이터를 먼저 빼내야 합니다. 스택 기 seongjuk.tistory.com 큐란 큐는 톨게이트 (고속도로 요금 정산소)와 같습니다. 각 게이트에 먼저 도착한 차가 요금을 정산하고 먼저나가는 것과 같이, 먼저 들어온 데이터가 먼저 큐에서 빠져나가게 됩니다. 큐 기능 큐에는 자주 사용되는 6가지 메소드 (method)가 존재합니다. push(data) 스택.. 2020. 10. 30.
[자료구조] 스택 (Stack) C/C++ 구현 - 알고리즘 스택이란 스택은 우물과도 같습니다. 가장 마지막에 들어간 데이터가 맨위에 쌓이게 되고, 데이터를 가져올 때 맨 위에 쌓인 (즉, 가장 마지막에 들어간) 데이터를 먼저 빼내야 합니다. 스택 기능 스택에는 자주 사용되는 5가지 메소드 (method)가 존재합니다. push(data) 스택에 데이터를 넣습니다. 들어간 데이터는 스택의 맨 위 (top)에 위치합니다. top() 스택의 맨 위에 위치한 데이터에 접근합니다. 만약 스택이 비어있는 경우 런타임 에러를 발생시킵니다. pop() 스택의 맨 위에 위치한 데이터를 빼냅니다. top과 마찬가지로 스택이 빈 경우 런타임 에러를 발생시킵니다. size() 스택에 현재 저장되어있는 데이터의 개수를 반환합니다. empty() 스택이 비어있는지 확인합니다. 비어있다면.. 2020. 10. 30.
[BOJ] 백준 9019번: DSLR www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 � www.acmicpc.net 이 문제는 D, S, L, R의 네 가지 명령을 사용해서 주어진 입력 A에서 B를 만드는데 필요한 최소 명령의 수와 그 명령이 무엇인지 출력하는 문제입니다. D 명령어는 수를 2배하며, S 명령어는 수에 1을 빼는 연산을 수행합니다. 또한 L 명령어는 왼쪽으로 시프트 후 맨 앞자리를 뒤로 위치시키며, R 명령어는 반대로 동작합니다. 아래의 예시를 참고해주세요. 1234 →L 2341 →L 341.. 2020. 10. 21.