- Today
- Yesterday
- Total
목록Algorithm (174)
메이쁘
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 어렵지 않은 브루트 포스 문제. 삼성 SW 코딩 테스트 기출문제 백트래킹을 사용했음. 핵심을 간단히 말하자면 1) N명이 있으면, 절반으로 나눠 두 팀을 만든다. boolean[] 배열을 사용해 True / False 로 팀을 구분하면 된다. 2) 팀 내 능력치 차이의 최소를 구하고, 같은 팀 내 사람들끼리 능력치를 계산하므로 팀을 꼭 구분지을 필요가 없다. 즉, N = 4일 때 스타트 팀 | 링크 팀 1) 1, 3 ..
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을 감시할 www.acmicpc.net 삼성 역량 SW 테스트 기출 문제 중 하나이다. 브루트 포스 + 시뮬레이션으로 문제는 길어보이지만 조건들을 유심히 생각해서 알고리즘을 작성..
https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문자로만 이루어져 있고, 길이가 8보다 크거나 같고, 15보다 작거나 같다. 모든 단어는 중복되지 않는다. www.acmicpc.net 상당히 애먹었던 문제. 해결 후 굇수님들의 코드를 참고해서 시간을 줄이긴 했지만 굇수님들보다는 시간이 조금 더 걸리긴 했다. *** 제 주관적인 해결 방법에 대한 풀이입니다! 참고 바랍니다. 문제에서 짚고 넘어갈 사항은 1) 입력받는 단어들은 anta + ~ + tica 로 이루어진 단어..
https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 중 하나이다. 간단하게 생각하면 된다. 짚고 가야할 것은 1. 100000개 시험장, 1 ~ 1000000명 감독 가능, 1 ~ 1000000 명 응시 하므로 1,000,000 * 1,000,000 이 가능할 수도 있다. 따라서 count를 저장하는 변수 타입은 long 을 사용하자. 2. 총감독관은 1명,..
https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리 www.acmicpc.net 쉬운 시뮬레이션 문제이다. 어렵게 생각안하고 Queue를 사용해서 해결했다. 매커니즘 1. n이 주어진 경우, 1 ~ n 까지 숫자 하나씩..
https://www.acmicpc.net/problem/5543 5543번: 상근날드 문제 상근날드에서 가장 잘 팔리는 메뉴는 세트 메뉴이다. 주문할 때, 자신이 원하는 햄버거와 음료를 하나씩 골라, 세트로 구매하면, 가격의 합계에서 50원을 뺀 가격이 세트 메뉴의 가격이 된다. 햄버거는 총 3종류 상덕버거, 중덕버거, 하덕버거가 있고, 음료는 콜라와 사이다 두 종류가 있다. 햄버거와 음료의 가격이 주어졌을 때, 가장 싼 세트 메뉴의 가격을 출력하는 프로그램을 작성하시오. 입력 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 www.acmicpc.net 햄버거 세 개 중 최소값과 음료수 두 개 중 최소값을 더한 후 50을 빼면 정답. 감사합니다. 소스코드 import java.io.Buff..
https://www.acmicpc.net/problem/9324 9324번: 진짜 메시지 문제 스파이들은 사령부와 통신하기 위해서 SMTP(비밀 메시지 전송 프로토콜)를 사용해 비밀 회선으로 전자 메시지를 보낸다. 메시지가 적들에 의해 조작되어 보내진 것이 아닌 진짜 메시지라는 것을 표시하기 위해 모든 메시지는 회선에 노이즈가 있었거나 발신 측에서 손을 떨면서 메시지를 보낸 것처럼 변형되는데, 이 변형 알고리즘은 메시지를 가로채는 자들이 우연히 변형 규칙을 흉내 낼 수 없을 정도로 정교하다. 또한 요원들의 머리에 총구가 겨눠져 강제로 메시지를 www.acmicpc.net 구현 문제. 단순히 문제대로 진행하면 된다. 핵심은 형광펜을 칠한 내용을 보면 끝이다. " 각 문자가 세 번 등장할 때 (그 다음에)..
https://www.acmicpc.net/problem/9517 9517번: 아이 러브 크로아티아 문제 "I love Croatia"는 네델란드의 인기 티비 프로그램 "I love my country"의 포맷 라이센스를 수입해 만든 크로아티아의 티비쇼이다. 이 티비쇼에서 가장 인기있는 게임은 "Happy Birthday"이며, 이 게임에 대한 문제를 풀게 된다. 플레이어 8명이 오른쪽 그림과 같이 원을 이루어서 앉아있다. 한 사람은 게임이 시작한지 3분 30초가 지나면 터지는 폭탄을 들고 있다. 폭탄을 들고있는 사람에게 질문을 하면서 게임은 시작된다. www.acmicpc.net 시뮬레이션 문제. 핵심만 짚고 넘어가면 엄청 쉽다. 1. 문제를 못맞추든지, 스킵하든지간에 맞추기까지 걸린 시간과 폭탄이 넘..
https://www.acmicpc.net/problem/3055 3055번: 탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제일 친한 친구인 비버의 굴로 가능한 빨리 도망가 홍수를 피하려고 한다. 티떱숲의 지도는 R행 C열로 이루어져 있다. 비어있는 곳은 '.'로 표시되어 있고, 물이 차있는 지역은 '*', 돌은 'X'로 표시되어 있다. 비버의 굴은 'D'로, 고슴도치의 위치는 'S'로 나 www.acmicpc.net 시뮬레이션 문제. 고슴도치를 이리저리 움직여서 동굴에 들어갈 수 있는 최단 시간을 구하는 문제. 물, 굴, 돌 이 추가되서 꽤 난이도가 있어..
https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다. 톱니바퀴를 회전시키려 www.acmicpc.net 정말 오랜만에 백준을 풀었다. 회사에서 프로젝트에 지원가면서 개발하며 적응하느라 집에서 문제 풀 수 없었다고 한다...!! 하지만 이..