전체 글 147

[백준 10808] 알파벳 개수

시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초256 MB54343369052953568.417%  문제알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. 예제 입력 1 복사baekjoon 예제 출력 1 복사1 1 0 0 1 0 0 0 0 1 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0   정답 코드:#알파벳들 뽑아오는 라이브러리from string import ascii_lowercasedef counting_alp..

백준 Baekjoon 2024.07.10

89. 할인 행사

문제 설명XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다.예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 14일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나, 사과, 바나나인 경우에 대해 알아봅시다. 첫째 날부터 열흘 간에는 냄비가 할인하지 않기 때문에 첫째 ..

문제 풀이 2024.07.10

앨리스 코드 챌린지 2번 문제

수가 주어졌을 때, k씨가 고른 숫자를 출력하는 프로그램을 작성하세요. 지시사항입력첫째 줄에 배열의 크기인 정수 n과 k씨가 일한 횟수인 정수 m을 입력합니다.1≤n≤100001≤m≤500둘째 줄에는 배열에 포함된 정수를 순서대로 입력합니다. 각 정수는 절댓값이 200을 넘지 않는 정수입니다.다음 줄 부터 m개 줄에 걸쳐 k씨가 고른 범위인 정수 i, j와 정수 k를 입력합니다.1≤i≤j≤n1≤k≤j−i+1출력k씨가 일할 때마다 k씨가 선택한 숫자를 한 줄에 하나씩 출력합니다.입력 예시8 31 7 6 8 1 6 4 51 5 32 6 24 8 3출력 예시665  정답 코드:# #첫번째 줄, 배열의 크기와 일한 횟수# size_count = input()# a_size = int(size_count.spli..

문제 풀이 2024.07.10

에라토스테네스의 체

1. 에라토스테네스의 체: 2부터 배수들을 지워나가며 지워지지 않은 제일 처음 수가 소수가 되고, 또 그 소수의 배수를 지워나가며 소수를 찾는 방법 2. 1부터 N까지 소수가 몇개인지 판별하는 방법 2-1 약수가 있는지 확인해서 끝까지 조사해서 없으면 소수( 시간 복잡도: O(N^2) ) 2-2 √N까지만 조사해서 없으면 소수( 시간 복잡도: O(NlogN) )  2-3 에라토스테네스의 체 이용( 시간 복잡도: O(Nlog(logN)) ) 3. 에라토스테네스를 활용해, 소수 구분하는 동작 순서 1) 2부터 N까지 모든 정수를 적음2) 아직 지우지 않은 소수 중 가장 작은 소수를 찾음(이 수를 P라고 함)3) 아직 지우지 않은 수들 중, P의 배수를 크기 순서대로 지움4) 아직 모든 수를 지우지 않았다면 ..

알고리즘 2024.07.09

유클리드 호제법 (약수 개수, 최대 공약수, 최소 공배수)

0. 파이썬은 python 3.5부터 gcd를 python 3.9부터 lcm을 math라이브러리에서 제공 1. 약수: 나누어 떨어지는 수 1-1 N의 약수 구하는 법:1부터 N이하의 정수로 N을 나누어, 나머지가 0이 되는 수를 찾음( 시간 복잡도: O(N) )1부터 √n이하의 정수로 N을 나누어, 나머지가 0이 되는 수를 찾고, 그 개수에 2를 곱함. N이 제곱수면, √N이 중복되므로 하나 뺌( 시간 복잡도: O(√N) )2. 유클리드 호제법:  A = Bq + R이라 할 때, A, B의 최대공약수 G(A, B)와 B, R의 최대공약수 G(B, R)이 같다. 두 수 A, B가 있고, 그 두 수의 최대공약수가 G라고 하자. (A > B)(단 a, b 는 서로소)A는 아래처럼 나타낼 수도 있다.(q는 몫,..

알고리즘 2024.07.09

행렬 곱셈

문제 설명2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.제한 조건행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.곱할 수 있는 배열만 주어집니다.입출력 예arr1arr2return[[1, 4], [3, 2], [4, 1]][[3, 3], [3, 3]][[15, 15], [15, 15], [15, 15]][[2, 3, 2], [4, 2, 4], [3, 1, 4]][[5, 4, 3], [2, 4, 1], [3, 1, 1]][[22, 22, 11], [36, 28, 18], [29, 20, 14]]  정답 코드(이해용):def soluti..

문제 풀이 2024.07.09

엘리스 코드 챌린지 1번문제

목표량시간 제한: 1초엘리스 토끼는 목표량을 정해 수학 문제를 열심히 풉니다. 목표량은 정수입니다.내일 풀 수학 문제의 개수는 오늘 푼 문제 개수의 수와 숫자의 구성이 같으면서, 오늘 푼 문제 개수의 수보다 큰 수 중 가장 작은 수입니다.예를 들어, 오늘 67문제를 풀었으면 다음 날 76문제를 풉니다.오늘 푼 문제의 개수를 줬을 때 다음날 풀 문제의 개수를 출력하는 프로그램을 작성하세요. 지시사항입력첫 번째 줄에 오늘 푼 문제의 개수인 자연수 N을 입력합니다. 1≤N≤999999 정답이 반드시 있는 경우만 입력값으로 주어집니다.출력다음날 풀 문제의 개수를 출력합니다.입력 예시364Copy출력 예시436  정답 코드:#퀵 소트 정렬 씀def quicksort(arr, start, end): if st..

문제 풀이 2024.07.09

n^2 배열 자르기

문제 설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다.정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요.제한사항1 ≤ n ≤ 1070 ≤ l..

문제 풀이 2024.07.08

WIL 2 주차

2주차(사전 캠프 미포함) 현재 나의 수준 현황 HTML, CSS: 인터넷 찾아가면서 만들어가는 정도(변동 없음)JS: 필요한 함수만 가져다 쓰는 정도(변동 없음)Python: 가상환경 및 개발 툴 다루는데 문제없음알고리즘: 4주차까지 수강한 내용 바탕으로, 관련 자료구조 및 알고리즘의 로직 이해함. (변동 없음)GIT 및 GITHUB: INIT, ADD, COMMIT, PUSH, PULL, LOG, CLONE, STATUS까지 완료정보처리기사: 핵심요약본 1번 봄, 기출문제 2024년 5월 문제품 3주차 목표 HTML, CSS: 강의내용을 복기하며 HTML 및 CSS 작성에 익숙해지기(변동 없음)JS: 필요한 함수의 사용법이나 매개변수등을 파악하기(변동 없음)Python: 현황 유지 (변동 없음)알고리..

잡다한 것 2024.07.05

86. H-Index (파이썬)

문제 설명H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요.제한사항과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다.논문별 인용 횟수는 0회 이상 10,000회 이하입니다.입출력 예citationsreturn[3, 0,..

문제 풀이 2024.07.05