본문 바로가기

Me/Algorithm8

8. 백준 C++[11723] 집합 [11723] 집합 난이도: Silver 5 시도횟수: 3 www.acmicpc.net/problem/11723 문제 비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오. add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다. remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다. check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20) toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20) all: S를 {1, 2, ..., 20} 으로 바꾼다. empty: S를 공집합으로 바꾼다. #include #i.. 2021. 8. 5.
7. 백준 C++[9658] 돌 게임 4 [9658] 돌 게임 4 난이도: Silver 1 시도횟수: 2 www.acmicpc.net/problem/9568 문제 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개, 3개 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 지게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 제출한 코드 #include #include #include #include #include using namespace std; int main() { int N; cin >> N; string win[1000]; win[0]="CY"; win[1]=".. 2021. 8. 3.
6. 백준 C++[3495] 아스키 도형 [3495] 아스키 도형 난이도: Gold 5 시도횟수: 1 www.acmicpc.net/problem/3495 문제 창영이는 메모장에 '.', '\', '/'을 이용해서 도형을 그렸다. 각 문자는 그림에서 1*1크기의 단위 정사각형을 나타낸다. '.'은 빈 칸을 나타내며, '/'는 정사각형의 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓점이 연결된 선분을, '\'은 왼쪽 위 꼭짓점과 오른쪽 아래 꼭짓점이 연결된 선분을 나타낸다. 창영이가 그린 도형의 넓이를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 h와 w가 주어진다. h는 그림의 높이, w는 너비이다. (2 ≤ h,w ≤ 100) 다음 h개 줄에는 창영이가 메모장에 그린 다각형이 주어진다. 창영이가 그린 다각형은 1개이고, 변과 변이 서로 교차하는 경우는.. 2021. 7. 31.
5. 백준 C++[3048] 개미 [3048] 개미 난이도: Silver 4 시도횟수: 1 www.acmicpc.net/problem/3048 문제 개미가 일렬로 이동할 때, 가장 앞의 개미를 제외한 나머지 개미는 모두 앞에 개미가 한 마리씩 있다. 서로 반대 방향으로 이동하던 두 개미 그룹이 좁은 길에서 만났을 때, 개미는 어떻게 지나갈까? 최근 연구에 의하면 위와 같은 상황이 벌어지면 개미는 서로를 점프해서 넘어간다고 한다. 즉, 두 그룹이 만났을 때, 1초에 한번씩 개미는 서로를 뛰어 넘는다. (한 개미가 다른 개미를 뛰어 넘고, 다른 개미는 그냥 전진한다고 생각해도 된다) 하지만 모든 개미가 점프를 하는 것은 아니다. 자신의 앞에 반대 방향으로 움직이던 개미가 있는 경우에만 점프를 하게 된다. 첫 번째 그룹이 ABC로 움직이고, .. 2021. 7. 21.
4. 백준 C++[1183] 약속 [1183] 약속 난이도: Silver 5 시도횟수: 2 www.acmicpc.net/problem/1183 문제 캠프에는 두 그룹이 있다. 한 그룹은 오민식을 중심으로 모인 그룹이고, 또다른 그룹은 오영식을 중심으로 모인 그룹이다. 오민식 그룹에 있는 사람들은 오영식 그룹에 있는 사람들을 만나기로 약속했다. 오민식 그룹에 있는 각각의 사람들은 정확하게 한 명의 오영식 그룹의 사람들을 만나야 한다. 이때, 오민식 그룹의 i번째 사람은 오영식 그룹의 i번째 사람을 만나야 한다. 불행하게도, 오민식 그룹의 사람들 중 몇 명은 만나기로 약속한 시간에 오영식 그룹의 사람을 만날 수 없다는 것을 알았다. 그들은 너무 빨리 도착하거나 너무 늦게 도착할 것이다. 기다리는 시간의 총 합을 최소화하기 위해서, 오민식 그.. 2021. 7. 15.
3. 백준 Python[1654] 랜선 자르기 [1654] 랜선 자르기 난이도: Silver 3 시도횟수: 2 www.acmicpc.net/problem/1654 문제 집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선.. 2021. 2. 25.
728x90