Problem Solving/BOJ

    [백준, BOJ 1085] 직사각형에서 탈출 (python)

    https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. 제한 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w..

    [백준, BOJ 3009] 네 번째 점 (python)

    https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 30 20 10 10 10 20 예제 출력 1 30 10 내 생각 축에 평행한 직사각형을 만들어야 하기 때문에, 입력받은 3개의 값 중, x와 y를 따로 보았을 때 각각 같은 값이 2개와 다..

    [백준, BOJ 1000] A + B (python)

    https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net a, b = map(int, input().split()) print(a + b)

    [백준, BOJ 2443] 별 찍기 - 6 (python)

    https://www.acmicpc.net/problem/2443 2443번: 별 찍기 - 6 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net n = int(input()) for i in range(n, 0, -1): print(' '*(n-i), '*'*(i-1), '*', '*'*(i-1), sep='')

    [백준, BOJ 2444] 별 찍기 - 7 (python)

    https://happybplus.tistory.com/131 [백준, BOJ 10828] 스택 (python) https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고,.. happybplus.tistory.com 내 생각 너무 당연하게 '*' 다음에도 공백이 올 줄 알았는데... '*' 뒤에는 공백이 오지 않는다. n = int(input()) for i in range(1, n+1): print(' '*(n-i), '*'*(i-1), '*', '*'*(i-1), sep='') for i in range(n-..

    [백준, BOJ 10870] 피보나치 수 5 (python)

    https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net n = int(input()) pb = [0, 1] for i in range(2, n+1): pb.append(pb[i-1] + pb[i-2]) print(pb[n])

    [백준, BOJ 9020] 골드바흐의 추측 (python)

    https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 내 생각 num이 주어졌을 때, half = num/2이 소수라면 답은 half이다. 하지만 half이 소수가 아니라면 half=half-1 한다. half가 소수가 될 때까지 위의 과정을 반복한다. half가 소수가 됐을 때, num-half도 소수라면 답은 half 소수가 아니라면 위의 과정을 다시 반복한다. 이렇게 half와 num-half가 둘 다 소수일 때까지 반복한다..

    [백준, BOJ 2747] 피보나치 수 (python)

    https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net n = int(input()) pb = [0, 1] for i in range(2, n+1): pb.append(pb[i-1] + pb[i-2]) print(pb[n])

    [백준, BOJ 2920] 음계 (python)

    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 www.acmicpc.net num = list(map(int, input().split())) asc = [1, 2, 3, 4, 5, 6, 7, 8] de = [8, 7, 6, 5, 4, 3, 2, 1] if (num == asc): print('ascending') elif (num == de): print('descending') else: print('mixed')

    [백준, BOJ 2750] 수 정렬하기 (python)

    https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net n = int(input()) num = [] for i in range(0, n): num.append(int(input())) num.sort() for i in range(0, n): print(num[i])