
https://www.acmicpc.net/problem/11971 11971번: 속도 위반 예를 들어 도로가 3구역 [(40km, 75km/h), (50km, 35km/h), (10km, 45km/h)] 이고. 연정이가 달린 3구역 [(40km, 76km/h), (20km, 30km/h), (40km, 40km/h)] 이라면, 처음 0 ~ 40km 영역에서 1km/h 만큼 위반했으나 60km ~ 90km 사이에 www.acmicpc.net 난이도 : 실버 5 태그 : 구현 설명 도로의 길이가 100km 밖에 되지 않기 때문에, 1km씩 체크하여, 1~100km 모든 지점에서, 현재 속도를 위반했는지 체크해도 주어진 시간 안에 충분히 통과할 수 있습니다. 소스코드 #include int main() { ..

https://www.acmicpc.net/problem/24389 24389번: 2의 보수 컴퓨터는 뺄셈을 처리할 때 내부적으로 2의 보수를 사용한다. 어떤 수의 2의 보수는 해당하는 숫자의 모든 비트를 반전시킨 뒤, 1을 더해 만들 수 있다. 이때, 32비트 기준으로 처음 표현했던 수와 www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 비트마스킹 설명 컴퓨터가 음수를 표현하는 방식중 하나인 2의 보수법에 관한 문제입니다. 10진수가 입력되면 이를 2진수로 바꾸고, 1을 0으로, 0을 1로 반전시킨 후, 1을 더해 구할 수 있습니다. 소스코드 #include int main() { int bit[32] = {0}; int bitReversed[32] = {0}; int n; scanf(..

https://www.acmicpc.net/problem/3595 3595번: 맥주 냉장고 맥주를 좋아하는 창영이는 냉장고에 맥주를 보관한다. 일반 냉장고에 음식과 맥주를 함께 보관하다보니 창영이의 냉장고에는 맥주를 넣을 곳이 점점 없어지고 있었다. 창영이는 맥주 전용 냉장 www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 브루트포스 설명 a * b * c = n을 만족하는 abc중, 겉넓이가 가장 작은 값들을 찾는 문제입니다. 뭔가 수학적으로 효율적으로 찾을 수 있지 않을까... 고민하다가 그냥 맘 편하게 브루트포스로 했습니다. 소스코드 #include int main() { int n; scanf("%d", &n); long min = 987654321; int num[3] = {0,..

https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 난이도 : 실버 3 태그 : 자료구조, 문자열, 해시를 사용한 집합과 맵, 트리를 사용한 집합과 맵 설명 집합을 하나 만들고, 이 안에 집합 S에 있는 문자열들을 있습니다. 이후, 검사해야 할 문자열들이 집합에 포함되어 있는지 하나씩 검사합니다. 소스코드 fun main(): Unit = with(System.`in`.bufferedReader()) { val (n..

https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 난이도 : 실버 4 태그 : 자료구조, 해시를 사용한 집합과 맵, 트리를 사용한 집합과 맵 설명 자바/코틀린의 자료 구조중 하나인 집합(set)을 사용하맨 꽤 쉽게 풀 수 있습니다. 소스코드 fun main():Unit = with(System.`in`.bufferedReader()) { readLine() val a = readLine().split(" ").map { it.toInt() ..

https://www.acmicpc.net/problem/9733 9733번: 꿀벌 각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의 www.acmicpc.net 난이도 : 실버 5 태그 : 구현, 자료 구조, 문자열, 해쉬를 사용한 집합과 맵 설명 해쉬맵을 사용하여 각 일을 몇 번 했는지 카운트하여 풀 수 있습니다. 소스코드 import java.util.* import kotlin.collections.HashMap fun main() = with(System.`in`.bufferedReader()) { val target = arrayOf..

잘 되던 얘가 갑자기 안되기 시작했다. not a valid name이라는 처음보는 에러인데, 나 혼자만이 아닌 다른 팀원들과 같이하는 학부 프로젝트이기 때문에, 다른 팀원들이 뭔가를 잘못 건들였나 하는 생각에 깃허브 로그를 뒤적거리며 찾던 중, 다른 팀원이 id에 한글을 넣어버렸던것 (...) 영어로 바꾸니 잘 된다. 나중에 만나면 꿀밤 한대 때려줘야겠다....

https://www.acmicpc.net/problem/2999 2999번: 비밀 이메일 정인이는 원래 "bombonisuuladici"를 보내려고 했다. 이 메시지는 16글자이므로, 정인이는 1*16, 2*8, 4*4 행렬을 선택할 수 있다. R이 가장 큰 것은 4*4이므로, 4*4를 선택한다. 정인이가 만든 행렬은 다음과 www.acmicpc.net 난이도 : 브론즈 1 태그 : 구현, 문자열 설명 R

https://www.acmicpc.net/problem/2057 2057번: 팩토리얼 분해 음 아닌 정수 N이 주어졌을 때, 이 수를 서로 다른 정수 M(M ≥ 1)개의 팩토리얼의 합으로 나타낼 수 있는지 알아내는 프로그램을 작성하시오. 예를 들어 2=0!+1!로 나타낼 수 있지만, 5는 이와 같은 www.acmicpc.net 난이도 : 실버 5 태그 : 수학, 그리디 알고리즘, 브루트포스 알고리즘 설명 정수 n이 주어졌을 때, 서로 다른 팩토리얼로 나타낼 수 있으면 YES, 아니면 NO를 출력하는 문제입니다. 정수 145이 있습니다. 145이하의 팩토리얼 중 가장 작은 팩토리얼은 5! (5*4*3*2 = 120)입니다. 4!을 볼까요? 4*3*2 = 24로, 120 + 24 = 144로, 145보다 ..

https://www.acmicpc.net/problem/2909 2909번: 캔디 구매 오늘은 화이트데이이다. 상근이는 여자친구를 위해서 사탕을 사려고 한다. 하지만, 상근이는 독특한 성격을 가지고 있어서, 특정 액면가의 지폐만 가지고 있는다. 또, 거스름돈은 받지 않는다. www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현 설명 단순히 자리수에 반올림을 처리하면 되는 문제이지만, 파이썬으로 반올림을 할 경우 한가지 주의할 점이 있습니다. 일반적으로 사용하는 5 이상이면 올림, 4이하면 내림하는 방식을 사사오입이라 합니다. 하지만 파이썬은 오사오입 방식을 사용하는데, 5보다 크면 올리고, 5보다 작으면 내리고, 5일 경우, 앞자리가 홀수면 올림, 앞자리가 짝수면 내림하는 방식입니다...