6236번: 용돈 관리 (acmicpc.net) 6236번: 용돈 관리 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 www.acmicpc.net 문제 해석 M번 인출하여 주어진 이용할 금액을 만족하는 K원 중 최소값을 구하는 문제이다. 만약 돈이 남을 경우, 남은 금액을 모두 넣고 다시 K원을 인출해야하므로 즉 하루 이용금액보다 K원이 작으면 안된다. 코드 문제 풀이 이분탐색을 활용하였다. 하루 이용금액은 arr에 저장해주었고 left는 0, right는 1000000000로 지정해주었다. while문안을 살펴보면 중간값을 mid로 지정해주었고 이 mid는 하루..
전체 글
항공대 알고리즘 동아리 Koala 🥰https://www.acmicpc.net/problem/14582 14582번: 오늘도 졌다 첫 번째 줄에는 9개의 정수가 주어지는데, 오늘 경기에서 울림 제미니스가 1회 초, 2회 초, ..., 9회 초에 낸 득점이 주어진다. 두 번째 줄에도 9개의 정수가 주어지는데, 스타트링크 걸리버스가 1회 www.acmicpc.net 문제 소스 코드 문제 풀이 G팀이 항상 승리하는 경우에서 그것이 역전승이면 "Yes" 아니면 "No" 출력 G팀의 역전승이 되려면 J팀이 점수를 낼 수 있는 9회 '초'까지 J팀의 점수가 앞서는 경우가 한 번 이상 있어야한다. J팀이 앞서는 경우가 있는지 경기의 '초'와 '말' 사이에 if문을 이용하여 확인했다.
https://www.acmicpc.net/problem/16507 16507번: 어두운 건 무서워 첫 번째 줄에는 사진의 크기를 의미하는 정수 R, C (1 ≤ R, C ≤ 1,000)와 사진 일부분의 밝기 평균을 알아볼 개수를 의미하는 정수 Q (1 ≤ Q ≤ 10,000)가 주어진다. 다음 R개의 줄에 걸쳐 R×C 크기의 사 www.acmicpc.net 문제분석 분류 누적 합 문제설명 R x C 크기의 사진이 주어질 때, 사진의 일부분에 해당하는 밝기 평균을 구한다. 입력: 첫 번째 줄에는 사진의 크기를 의미하는 정수 R, C(1 ≤ R, C ≤ 1,000)와 사진 일부분의 밝기 평균을 알아볼 개수를 의미하는 정수 Q(1 ≤ Q ≤ 10,000)가 주어진다. 다음 R개의 줄에 걸쳐 R x C 크기의..
[나의 풀이 방법] - 문자열을 받을 개수를 입력하고 그 수만큼 반복하며 문자열 입력 - 입력받은 문자열에서 문자를 가져와 ord 함수를 이용해 아스키 코드로 변환 - set로 만들어 중복 값이 없도록 설정 - 반복하면서 입력받은 문자의 아스키 코드가 아닌것들만 모음 - 더한 값을 출력
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 해석 연속되어 있는 단어들 중, 앞서 나온 단어가 후에 동떨어져서 출현한다면, 해당 단어는 그룹 단어가 아니다. 따라서 스트링으로 받고, 연속되는 지점이 끊기는 지점 (ex- aaabc에서 마지막 a에 해당하는 지점)에서 해당 문자가 뒤쪽 스트링에 나타나는지 확인하여 나타난다면 no를, 나타나지 않는다면 yes를 출력한다. 코드
문제 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다. 2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의 프로그래머 준규는 이 사건의 배후가 김선영이란 것을 해킹을 통해 밝혀내었다. 도현이는 선영이를 임무를 시작한지 정확하게 24시간이 되는 순간에 잡으려고 한다. 만약 지금 시간이 13:52:30이고, 임무를 시작한 시간이 14:00:00 이라면 도현이에게 남은시..
문제 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 문제풀이 n을 입력받으면 n!개의 줄에 걸쳐 모든 순열을 순차적으로 출력하면 된다. 반복문을 사용해야 하나..? 생각이 들었는데 뭔가 이런 문제들만을 위한 방법이 따로 있을것 같아 구글링해봤더니 역시 대표적인 문제유형 중 하나였다. vectorv(n); // 입력받은 n의 크기만큼 배열을 생성하며, 동시의 각 배열의 값을 0으로 초기화해주는 코드다. (next_permut..
문제 매일 밤, 정인이는 상근이에게 이메일을 보낸다. 정인이는 자신의 이메일이 해킹당할 수도 있다는 생각에, 내용을 항상 암호화해서 보낸다. 정인이가 사용하는 암호 알고리즘은 다음과 같다. 정인이가 보내는 메시지는 총 N글자이다. 먼저, 정인이는 R A; a = strlen(A); for(int i=1; i
https://www.acmicpc.net/problem/2789 2789번: 유학 금지 아주 멀리 떨어져 있는 작은 나라가 있다. 이 나라에서 가장 공부를 잘하는 학생들은 모두 다른 나라로 유학을 간다. 정부는 최고의 학생들이 자꾸 유학을 가는 이유를 찾으려고 했다. 하지만, www.acmicpc.net 문제 분석 1. 문자열을 입력받는다. 2. 각 문자가 CAMBRIDGE애 있는지 확인 3. CAMBRIDGE에 있으면 제거 4. 출력
Intro Solution 주어진 문자열에 특정한 알파벳이 몇 개 들어있는지 구하는 문제다. 질문이 최대 200,000개 주어지며 알파벳이 중복으로 주어질 수 있기 때문에 누적 합을 이용해서 시간복잡도를 줄여야 한다. 주어진 질문의 알파벳이 처음 나왔다면, 문자열을 순회하며 해당 문자열 개수의 누적 합을 저장한다. python으로 실행할 때 제한 시간을 통과하지 못했으나, pypy3으로는 통과할 수 있었다. Code import sys input = sys.stdin.readline def solve(): S = input().strip() size = len(S) q = int(input()) psum = {} for _ in range(q): a, l, r = input().split() l, r =..