본문 바로가기

BOJ69

[BOJ] #1406 에디터 시간 제한 메모리 제한 정답 비율 0.3초 512MB 26.868% 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 www.acmicpc.net 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입.. 2020. 6. 2.
[BOJ] #2164 카드2 시간 제한 메모리 제한 정답 비율 2 초 128 MB 57.281% 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자.. 2020. 6. 2.
[BOJ] #14830 경사로 시간 제한 메모리 제한 정답 비율 2 초 512 MB 52.919 % 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 문제 해결 가로, 세로로 나눠서 풀었다. 지나가려는 길에서 flg가 마지막위치까지 false면 지나갈 수 있다. → ans를 증가시킨다. pre는 이전까지 보고있던 칸의 높이, cnt는 pre의 개수이다. diff는 pre와 다음칸의 차이를 저장하였고 1이거나 -1이어야만 한다. 1이라면 다음으로 넘어갈 칸의 높이가 더 큰것이므로 현재 보고왔던 칸의 개수가 l 이상인지 확인해야하고 -1이라면 앞으로 볼 위치에 경사로를.. 2020. 5. 21.
[BOJ] #5397 키로거 시간 제한 메모리 제한 정답 비율 1 초 256MB 23.480 % 5397번: 키로거 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거� www.acmicpc.net 스택 구현해서 풀긔-⭐ 문제 해결 key point, 커서의 이동을 구현한다. → cur head → 스택 ← tail 스택을 head와 tail이 가리키는 구조로 만들고 커서 역할을 하는 포인터 cur을 이용하여 을 입력받으면 cur를 오른쪽으로 이동하고 - 을 입력받으면 커서를 기준으로 이전 노드와 이후노드를 서로 연결시켜주고, 커서가 가르키고 있던 노드를 삭제한다... 2020. 5. 21.
[BOJ] #1912 연속합 시간 제한 메모리 제한 정답 비율 1 초 128 MB 27.902% 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입출력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주.. 2020. 5. 11.
[BOJ] #2512 예산 시간 제한 메모리 제한 정답 비율 1 초 128 MB 31.285% 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 문제 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것이다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정한다. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정한다. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상.. 2020. 5. 11.
[BOJ] #1012 유기농 배추 시간 제한 메모리 제한 정답 비율 1초 512MB 34.545% 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. ( www.acmicpc.net 문제 한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어놓았다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 .. 2020. 5. 3.
[BOJ] #13414 수강신청 시간 제한 메모리 제한 정답 비율 1초 256MB 19.578% 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목록의 길이 L(1 ≤ L ≤ 500,000)이 주어진다. 두 번째 줄부터 L개의 줄에는 수강신청을 버튼을 클릭한 학생의 학번이 클릭 순서대로 주어진다. 학번은 8자리의 숫자로 이루어져 있다. www.acmicpc.net 문제 시행착오 처음에 접근을 잘못해서 열라 많이 틀림. 런타임에러도 났었고 런타임에러 잡으니 시간초과 떠서 완전 멘붕.. 입력으로 들어온 학번들을 다른 배열에 저장하지 않고 단순 map으로만 풀 수 있.. 2020. 5. 2.
[BOJ] #1158 요세푸스 문제 시간 제한 메모리 제한 정답 비율 2초 256MB 49.068% 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 해결 key point, %(나머지연산자)를 활용한다. 예제에서는 입력으로 '7, 3' 이 주어졌으므로 이대로 해보면 처음 시작을 0으로 잡으면 3번째 사람은 2이고 2번인 사람은 제거될 수 있으므로 chk[2] = 1, 표시하고 0부터 시작했으므로 현재위치를 나타내는 idx에서 +1을 더한 값을 출력한다. → 3 그리고 num을 1 증가시킨다. (num은 제거된 사람의 수를 세는 변수.) : num = 1 또 다음 위치에 가기 위해서 카운트 세 번을 하고 다음 위치를 찾아간다. 만약.. 2020. 5. 2.