본문 바로가기

BOJ67

[자료구조] 스택 (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.
[BOJ] 백준 1149번: RGB거리 www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 동적 계획법을 사용하는 문제입니다. i번째 집을 j번째 색으로 칠할 때의 비용 color[i][j]에 대하여 i번째 집까지 색을 칠할때 i번째 집을 j번째 색으로 칠하는 최소비용을 dp[i][j]라고 한다면 이웃한 집은 같은색으로 칠하면 안되므로 dp[i][j] = min(dp[i][j], dp[i-1][k] + color[i][j]) 단, k ≠ j 이 됩니다. #include #incl.. 2020. 10. 21.
삼성 SW 기출 문제 풀이 모음 더보기를 누르면 정답 코드를 볼 수 있습니다. 모두 화이팅입니다. www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 더보기 #include #include #include #include #include #include #include #include #include #include using namespace std; #define MOD (1000000007LL) typedef long long ll; typedef pair pii; int n, m; int arr[.. 2020. 10. 18.