전체 글 131

백준 10870번 피보나치 수 5 문제풀이, 파이썬

백준 10870번 : 피보나치 수 5 문제풀이 [파이썬] 10870번 문제의 내용은 아래와 같습니다. 피보나치 수 5 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 ..

백준 알고리즘 2023.03.12

백준 10872번 팩토리얼 문제풀이, 파이썬

백준 10872번 : 팩토리얼 문제풀이 [파이썬] 10872번 문제의 내용은 아래와 같습니다. 팩토리얼 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 예제 입력 1 복사 10 예제 출력 1 복사 3628800 예제 입력 2 복사 0 예제 출력 2 복사 1 #팩토리얼 - 재귀 N = int(input()) def factorial(num): ans = 1 if num > 0: ans = num * factorial(num-1) return ans print(factorial(N)) 본 문제를 for 문을 사용해서 풀어도 되지만, 문제 분류가 '재귀'로 되어있어서 재귀함..

백준 알고리즘 2023.03.12

백준 11478번 서로 다른 부분 문자열의 개수 문제풀이, 파이썬

백준 11478번 : 서로 다른 부분 문자열의 개수 문제풀이 [파이썬] 11478번 문제의 내용은 아래와 같습니다. 서로 다른 부분 문자열의 개수 문제 문자열 S가 주어졌을 때, S의 서로 다른 부분 문자열의 개수를 구하는 프로그램을 작성하시오. 부분 문자열은 S에서 연속된 일부분을 말하며, 길이가 1보다 크거나 같아야 한다. 예를 들어, ababc의 부분 문자열은 a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc가 있고, 서로 다른것의 개수는 12개이다. 입력 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. 출력 첫째 줄에 S의 서로 다른 부분 문자열의 개수를 출력한다. 예제 입력 1 ..

백준 알고리즘 2023.03.11

백준 1269번 대칭 차집합 문제풀이, 파이썬

백준 1269번 : 대칭 차집합 문제풀이 [파이썬] 1269번 문제의 내용은 아래와 같습니다. 대칭 차집합 문제 자연수를 원소로 갖는 공집합이 아닌 두 집합 A와 B가 있다. 이때, 두 집합의 대칭 차집합의 원소의 개수를 출력하는 프로그램을 작성하시오. 두 집합 A와 B가 있을 때, (A-B)와 (B-A)의 합집합을 A와 B의 대칭 차집합이라고 한다. 예를 들어, A = { 1, 2, 4 } 이고, B = { 2, 3, 4, 5, 6 } 라고 할 때, A-B = { 1 } 이고, B-A = { 3, 5, 6 } 이므로, 대칭 차집합의 원소의 개수는 1 + 3 = 4개이다. 입력 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가..

백준 알고리즘 2023.03.11

백준 1764번 듣보잡 문제풀이, 파이썬

백준 1764번 : 듣보잡 문제풀이 [파이썬] 1764번 문제의 내용은 아래와 같습니다. 듣보잡 문제 김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다. 듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다. 출력 듣보잡의 수와 그 명단을 사전순으로 출력한다. 예제..

백준 알고리즘 2023.03.09

모던 자바스크립트 Deep Dive - 제 10장

2023. 03. 08 [객체 리터럴] 10.1 객체란?) 자바스크립트는 객체 기반의 프로그래밍 언어이다. 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조이다. 원시 타입의 값은 변경이 불가능하지만 객체 타입의 값은 변경이 가능하다. 객체는 0개 이상의 프로퍼티로 구성되어 있으며, 프로퍼티는 key 와 value로 구성된다. '함수'도 프로퍼티 값으로 사용할 수 있는데, 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해서 이는 메서드 라고 부른다. const counter = { num: 0, // -> 프로퍼티 increase: function () { // -> 메서드 this.num++; }, }; 객체의 집합으로 프로그램을 표현하..

카테고리 없음 2023.03.08

백준 10816번 숫자카드2 문제풀이, 파이썬

백준 10816번 : 숫자카드2 문제풀이 [파이썬] 10816번 문제의 내용은 아래와 같습니다. 숫자 카드 2 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의..

백준 알고리즘 2023.03.08

백준 1620번 나는야 포켓몬 마스터 이다솜 문제풀이, 파이썬

백준 1620번 : 나는야 포켓몬 마스터 이다솜 문제풀이 [파이썬] 1620번 문제의 내용은 아래와 같습니다. 오박사 : 그럼 다솜아 이제 진정한 포켓몬 마스터가 되기 위해 도감을 완성시키도록 하여라. 일단 네가 현재 가지고 있는 포켓몬 도감에서 포켓몬의 이름을 보면 포켓몬의 번호를 말하거나, 포켓몬의 번호를 보면 포켓몬의 이름을 말하는 연습을 하도록 하여라. 나의 시험을 통과하면, 내가 새로 만든 도감을 주도록 하겠네. 입력 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 물어봐도 괜찮아. 나는 언제든지 질문에 답해줄 준비가 되어있어. 둘째 줄부터..

백준 알고리즘 2023.03.08

백준 14425번 문자열 집합 문제풀이, 파이썬

백준 14425번 : 윤년 문제풀이 [파이썬] 14425번 문제의 내용은 아래와 같습니다. 문자열 집합 문제 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 출력 첫째 줄에 M개의 문자열 중에 총 몇 개가 집합 S..

백준 알고리즘 2023.03.07

백준 10815번 숫자 카드 문제풀이, 파이썬

백준 10815번 : 윤년 문제풀이 [파이썬] 10815번 문제의 내용은 아래와 같습니다. 숫자 카드 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 ..

백준 알고리즘 2023.03.07