프로그래밍/Baekjoon

    (C언어, 파이썬) 백준 11720. 숫자의 합

    문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. https://twpower.github.io/74-get-one-interger-in-cpp-and-c-by-using-scanf [C, C++] C와 C++에서 연속된 숫자문자열을 숫자로 하나씩 받기 Practice makes perfect! twpower.github.io C언에서 한 줄에 입력된 문자를 하나씩 분류하는 방법은 위를 참고했다. + http://m.todayhumor.co.kr/view.php?table=total&no=79013..

    (C언어)백준 2960. 에라토스테네스의 체

    문제 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾는 유명한 알고리즘이다. 이 알고리즘은 다음과 같다. 2부터 N까지 모든 정수를 적는다. 아직 지우지 않은 수 중 가장 작은 수를 찾는다. 이것을 P라고 하고, 이 수는 소수이다. P를 지우고, 아직 지우지 않은 P의 배수를 크기 순서대로 지운다. 아직 모든 수를 지우지 않았다면, 다시 2번 단계로 간다. N, K가 주어졌을 때, K번째 지우는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ K < N, max(2, K) < N ≤ 1000) 출력 첫째 줄에 K번째 지워진 수를 출력한다. #include #include #include int main(void) { int n = 0, k; scanf_s(" %..

    (C언어,파이썬)백준 1978. 소수찾기

    문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. C언어 #include int main(void) { int n; int num, count = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &num); for (int j = 2; j

    (C언어)백준 10818. 최소, 최대

    문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. #include int main(void) { int n, num, min = 1000001, max = -1000001; scanf("%d", &n); for (int i = 1; i max) max = num; if (num < min) min = num; } printf("%d %d", min, max); r..

    (파이썬)프로젝트 오일러(Project Euler)17.1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는?

    1부터 5까지의 숫자를 영어로 쓰면 one, two, three, four, five 이고,각 단어의 길이를 더하면 3 + 3 + 5 + 4 + 4 = 19 이므로 사용된 글자는 모두 19개입니다. 1부터 1,000까지 영어로 썼을 때는 모두 몇 개의 글자를 사용해야 할까요? 참고: 빈 칸이나 하이픈('-')은 셈에서 제외하며, 단어 사이의 and 는 셈에 넣습니다. 예를 들어 342를 영어로 쓰면 three hundred and forty-two 가 되어서 23 글자, 115 = one hundred and fifteen 의 경우에는 20 글자가 됩니다. 사전 작업 one부터 onethound까지 일일이 입력할 수는 없다. 누군가는 입력해놓지 않았을까 하고 구글에 '1 to 1000 in english..

    (파이썬)백준 10996.별 찍기 - 21

    예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. n = int(input()) if n % 2 != 0: #홀수인 경우 for i in range(n): print("* "* (n // 2 + 1)) print(" *"* (n // 2) ) if n % 2 == 0: #짝수인 경우 for i in range(n): print("* "* (n // 2)) print(" *"* (n // 2)) n이 홀수일 때는 첫 줄에 (별, 공백)을 n // 2 + 1 개, 둘째 줄에 (공백, 별) n // 2개 출력한다. 이 패턴을 n회 반복한다. n이 3이라면 * * * 이 패턴이 3회 반복되고, n이 5라면 * * * * * 이 패턴이 5회 반복된다. 짝수일 때는 (별, 공백), (공백, 별)을 n // 2 만..

    (파이썬)백준 2446. 별 찍기 - 9

    예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. n = int(input()) k = 0 for i in range(2 * n - 1, 0, -2): for j in range(k): print(" ", end = '') k += 1 for j in range(i , 0, -1): print("*", end = '') print("") k -= 2 for i in range(3, 2 * n, 2): for j in range(k): print(" ", end = '') k -= 1 for j in range(i): print("*", end = '') print("") 별 개수를 줄여나가려면 range를 역순으로 만들어야겠다고 생각했다. 그러니 n이나 i로는 공백을 찍기가 곤란해서 k라는 문자를 더 ..

    (파이썬)백준 4673.셀프 넘버

    문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..