재귀함수로 팩토리얼(Factorial) 구현하기 https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net for문이 아닌 재귀함수를 이용하여 팩토리얼(Factorial) 구현하기 Java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int userInput = sc.nextInt(); System.out.print(factorial(userInput)); } public static..
하노이의 탑(Tower of Hanoi) 첫번째 기둥을 A, 두번째 기둥을 B, 세번째 기둥을 C 작은 원반부터 큰 원반의 순서대로 1, 2, 3, ,,, 이라고 칭한다고 가정할 때. hanoi(N, A, B, C)는 hanoi()함수를 통해 N개의 원반을 A, B, C기둥을 통해 이동시킨다고 할때 사용되는 함수이다. // JavaScript var hanoi = function(N, from, other, to) { if(N===1){ div1.innerHTML += '원판[' + N + '] : ' + from + "--------->" + to + " "; } else { hanoi(N-1, from, to, other); div1.innerHTML += '원판[' + N + '] : ' + fro..
출처 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net ](https://www.acmicpc.net/problem/2577) 내 풀이 num1 = int(input()) num2 = int(input()) num3 = int(input()) # 일단 num1 * num2 * num3의 계산결과 알기 # 그리고 ..
출처 https://www.acmicpc.net/problem/2920 2920번: 음계 문제 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 www.acmicpc.net 내 풀이 # 풀이 1 UserInput = list(map(int, input().split())) mixed = False for i ..
문제 출처 링크 클릭시 맥의 경우 command, 윈도우의 경우 ctrl을 누르면서 클릭하면 새창에서 링크오픈이 가능합니다. 테스트 케이스를 모두 통과하지 못함(2019.08.13) # 회문인지, 유사회문인지, 둘다 아닌지 확인하는 함수. 각각 0, 1, 2로 출력한다. def isPalindrome(Str): # 회문인 경우 if Str == Str[::-1]: return 0 # 회문이 아닌 경우 else: count = 0 for i in range(len(Str)): NewStr = Str[:i]+Str[i+1:] if NewStr == NewStr[::-1]: count += 1 # count가 증가했다면 유사회문이 있었다는 것이므로 1을 리턴 if count > 0: return 1 # cou..
문제 출처 링크 클릭시 맥의 경우 command, 윈도우의 경우 ctrl을 누르면서 클릭하면 새창에서 링크오픈이 가능합니다. 테스트 케이스를 모두 통과하지 못함(2019.08.12) Number = int(input()) NumList = [] count = 1 for i in range(Number): NextNum = int(input()) NumList.append(NextNum) for j in range(Number-1): if NumList[Number-1] < NumList[j] : count += 1 print(count) 문제 채점기준에 나와있는 각 테스트 케이스에 대한 배점정보와 제약조건에 대한 문제파악이 안됨 반례1) 입력값 6, 7, 9, 7, 6, 4, 6인 경우.. 6번막대기보다..
출처 : https://www.acmicpc.net/problem/10951 # 풀이1 (출처: https://home-body.tistory.com/258) while True: try: a, b = map(int, input().split()) print(a+b) except: break # 풀이2 (출처 : https://hwiyong.tistory.com/m/208?category=844316 ) import sys for line in sys.stdin: a, b = map(int, line.split()) print(a + b) # 풀이3 (출처 : https://sinb57.tistory.com/entry/Python-3-10951-A-B-4 ) try: while 1: a,b = map(i..
출처 https://hwiyong.tistory.com/140](https://hwiyong.tistory.com/140 내 풀이 while True: Userinput = list(map(int, input().split())) if Userinput == [0,0]: break else: print("%d" %(Userinput[0]+Userinput[1])) 헷갈렸던 점, 개선할 점 map함수를 쓸때 map(함수이름, iterable객체) 로 해야하는데 map(함수이름( ), iterable객체)으로 했다. while True: 대신에 while Userinput == (0, 0): 으로 하려고했는데 뭔가 잘 안됐다.. 나중에 다시 알아보자. sys모듈로 풀이한 사람도 있던데 이것에 대해 알아보자.
출처 : https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력 X보다 작은 수를 입력받은 순서대..
https://www.acmicpc.net/problem/2438 간단한 별찍기 문제인데'출력 형식이 잘못되었습니다.' 라고 떠서 당황한 문제. 한참 헤매다가 range범위를 잘못찍어줬음을 발견함. 12345678910# 잘못된 코드count = int(input())for i in range(count+1): # range(count+1)로 하면 i의 값이 0,1,2,3,,,count가 되어버림. print("*"*i) # 수정하여 통과한 코드count = int(input())for i in range(1,count+1): # range(1, count+1)로 해야 i의 값이 1,2,3,,,count가 됨. print("*"*i)Colored by Color Scriptercs 사소한 문법이지만 그래..