목록전체 글 (189)
개발로그필름
https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net \n를 제외한 공백 포함 문자열 입력 받는 코드 적는 방법이 scanf("%[^\n]s", input); 라는 것을 알게 되었다 문자열만 잘 입력받으면 뒤의 풀이는 쉬운 문제다 일단 공백을 찾아 count에 차례로 증가시킨 후 문제에서 앞, 뒤 공백이 있을 수 있다 했으므로 공백의 경우의 수를 차례로 정하여 코드를 짜면 된다 코드 풀이 #include #include int main(){ i..
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 코드 풀이 #include #include int main() { int n, count = 0; char input[100]; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%s", input); count += word_count(input, strlen(input)); } printf("%d", count); ..
https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 코드 풀이 #include #include int main(void) { char input[100]; gets(input); int cnt = strlen(input); // 변경 문자에 =, -, j 가 공통적으로 있기 때문에 경우의 수를 그에 맞춰 나눠준다. for (int i = 0; i < strlen(input); i++) { if (input[i]..
https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 규칙을 찾고 나면 생각보다 너무 쉬운 문제이다 규칙을 찾기 위해 종이에 적어보았는데 2~7 : 2 8~19 : 3 20~37 : 4 38~61 : 5 위와 같은 결과가 나왔고 두 수의 차는 5, 11, 17, 23이고 차들의 차이가 6이라는 공통 수가 나왔다 코드 풀이 #include int main() { int n, i = 2, j = 5, cnt = 2; scanf("%d", &n); if (n ==..
https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 1차적으로 문제를 읽고 규칙을 찾아내는데 시간이 많이 소요되었다. 규칙을 찾아도 찾은 규칙을 코드에 어떻게 녹여내야 하는지 시간이 오래 걸렸다. 각 행 별로 나오는 분수들을 쭉 적고 입력값이 몇 번째 행에 속하지 찾는다. 찾은 행에서도 몇 번째인지 구한다 짝수 일때는 역방향이고 홀수일 때는 순 방향이므로 각각의 경우의 수를 나눠서 생각한다 코드 풀이 #include int main() { int n, sum; int index = 0; // 몇번째 행인지 scanf("%d", &n); // 행 구하기 while (1) { ind..
try: print("나누기 전용 계산기입니다.") nums = [] nums.append(int(input("첫 번째 숫자를 입력하세요 : "))) nums.append(int(input("두 번째 숫자를 입력사세요 : "))) #nums.append(int(nums[0] / nums[1])) print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2])) except ValueError: print("에러! 잘못된 값을 입력하였습니다.") except ZeroDivisionError as err: print("알 수 없는 에러가 발생하였습니다.") print(err) try: print("한 자리 숫자 나누기 전용 계산기 입니다.") num1 = int(inp..
Quiz) 동네에 항상 대기 손님이 있는 맛있는 치킨집이 있습니다. 대기 손님의 치킨 요리 시간을 줄이고자 자동 주문 시스템을 제작하였습니다. 시스템 코드를 확인하고 적절한 예외처리 구문을 넣으시오. 조건1 : 1보다 작거나 숫자가 아닌 입력값이 들어올 때는 ValueError로 처리 출력 메시지 : "잘못된 값을 입력하였습니다." 조건2 : 대기 손님이 주문할 수 있는 총 치킨량은 10마리로 한정 치킨 소진 시 사용자 정의 에러[SoldOutError]를 발생시키고 프로그램 종료 출력 메시지 : "재고가 소진되어 더 이상 주문을 받지 않습니다." class SoldOutError(Exception): pass chicken = 10 waiting = 1 # 홀 안에는 현재 만석. 대기번호 1부터 시작 ..
# Thailand.py class ThailandPackage: def detail(self): print("[태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원") # vietnam.py class VietnamPackage: def detail(self): print("[배트남 패키지 3박 5일] 다낭 효도 여행 60만원") import theather_module theather_module.price(3) # 3명이서 영화 보러 갔을 때 가격 theather_module.price_morning(4) # 4명이서 조조 할인 영화 보러 갔을 때 theather_module.price_soldier(5) # 5명의 군인이 영화 보러 갔을 때 import theather_module..