본문 바로가기

분류 전체보기

(263)
[백준 파이썬] #11050: 이항 계수1 https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net ★ 먼저 이항계수가 무엇인가? 이를 읽어보면 이항계수를 구하는 공식이 있다. 이것을 참고해서 문제를 풀면 된다! 그리고 공식을 보면 팩토리얼을 사용한다는 것을 알 수 있다. math모듈의 factorial함수를 사용하면 될 것 같다! [정답] 1. 이항계수에 사용되는 N과 K를 입력받는다. 2. math모듈의 factorial함수를 import하고 위의 공식을 참고하여 계산을 한 다음 값을 출력한다. factorial 구하는 방법 2가지 https://blog.naver...
[백준 파이썬] #3036: 링 https://www.acmicpc.net/problem/3036 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net [정답] 1. 링의 개수를 입력받아 n에 넣어준다. 2. 링의 개수만큼 링의 반지름을 입력받아 정수값으로 바꾸고 리스트형태로 rings에 넣어준다. 3. 0~n-1만큼 for문을 돌면서 첫 번째 링(rings[0])을 한 바퀴 돌리면 (i+1)번째 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력하기 위해 fractions 모듈의 Fraction 클래스를 사용한다. ※ Fraction(rings[0],rings[i+1])만 해주..
[백준 파이썬] #2609: 최대공약수와 최소공배수 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net [정답] 1. while문을 돌면서 a,b를 input()으로 받는다. 빈칸을 기준으로 split()해주고 map()을 통해 a,b를 int로 형변환해준다. 2. 1~min(a,b)만큼 for문을 돌면서 a와 b로 모두 나누어지는 최대공약수를 GCD에 넣어준다. 3. a*b//GCD를 LCM(최대공배수)에 넣어준다. 4. GCD와 LCM와 출력한다.
[백준 파이썬] #5086: 배수와 약수 https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net [정답] 1. while문을 돌면서 a,b를 input()으로 받는다. 빈칸을 기준으로 split()해주고 map()을 통해 a,b를 int로 형변환해준다. 2. 만약 a와 b가 모두 0일때, while문을 빠져나가 프로그램을 종료한다. 3. 만약 ab이고 a%b==0이면 즉 "첫 번째 숫자가 두 번째 숫자의 배수이다."에 해당하면 "multiple"을 출력한다. 5. 3,4번에 모두 해당하지 않으면 즉 "첫 번째 숫자가 두 번째 숫자의 ..
[백준 파이썬] #3009: 네 번째 점 https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net [정답] 1. x좌표와 y좌표를 담을 리스트를 정의한다. 2. 세 점이 주어지니까 3번을 반복하면서 input을 받는다. input을 받으면서 공백을 기준으로 split하여 a,b에 넣어준다. 3. 만약 a가 리스트 x에 없다면, x에 a를넣어준다. 리스트 x에 있다면, x에서 a를 제거해준다. b도 동일한 방법으로 진행한다. → 이 문제는 축에 평행한 직사각형을 만드는 프로그램이다. 그러므로 네 점은 각 2개씩 x좌표가 같고, 또 다른 각 2개씩 y좌표가 같을 것이다. ex)..
[프로그래머스] JadenCase 문자열 만들기 https://programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr [오답] → '코드실행' 100%, '제출 후 채점하기' 43.8% s를 공백 기준으로 나누어서 리스트안에 넣고, 문자열 하나하나 꺼내서 capitalize()함수를 이용해 첫글자를 대문자로 만들어주고 공백과 함께 answer에 넣어준다. 코드가 맞는 것 같은데 왜 틀렸다는지 모르겠어서 네이버에 검색해보..
[프로그래머스] 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr [오답] → 정확성 100%, 효율성 0% 효율성 0%로 시간초과된 코드,, [정답1] 근데 혹시나 return을 바로 True, False로 해줘서 효율성이 100%로 나왔나 싶어 위에서 효율성이 0%나왔던 코드를 answer만 없애고 return을 바로 True, False로 해주어서 코드를 제출해본 결과,,, [정답2] 정답이었다,, 고로 위의 코드에는..
[프로그래머스] H-Index https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. → h편 이상과 h편 이하 [정답] 1. 논문별 인용 횟수를 알아보기 위해 for문을 0~len(citations)만큼 돈다. (0회~(논문의 개수)회) 2. 인용된 논..