반응형

분류 전체보기 172

[이취코테] 곱하기 혹은 더하기

https://www.youtube.com/watch?v=2zjoKjt97vQ 이 문제의 해설 영상이다. 문제 각 자리가 숫자로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 'x' 혹은 '+' 연산자를 넣어 만들 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. (단, + 보다 x를 먼저 계산하는 일반적인 방식과 달리, 모든 연산은 왼쪽부터 차례대로 이루어진다고 가정) 입력 조건: 첫째 줄에 여러 개의 숫자로 구성된 하나의 문자열 S가 주어진다.(1 1): result *= int(s[i]) else: result += int(s[i]) print(result) 일반적으로는 두 수에 대해 연산을 할 때, 대부분 곱하기가 더하기보다 값을 더 크게 만..

[이취코테] 1이 될 때까지

https://youtu.be/2zjoKjt97vQ 이 문제의 해설 영상이다. 문제 어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두 번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다. 1. N에서 1을 뺀다. 2. N을 K로 나눈다. N과 K가 주어질 때 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 최소 횟수를 구하는 프로그램을 작성하시오. 입력 조건: 첫째 줄에 N(2

[BOJ] 11047 - 동전 0

https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net n , k = map(int, input().split()) array = list() num = 0 for i in range(n): array.append(int(input())) for i in reversed(array): coin = i num += k // coin k %= coin print(num) 이 문제는 그리디 알..

알고리즘/BOJ 2021.12.31

[파이썬 라이브러리] math

math 라이브러리는 자주 사용되는 수학적인 기능을 포함하고 있는 라이브러리이다. factorial() 함수 factorial(x) 함수는 x! 값을 반환한다. import math print(math.factorial(5)) sqrt() 함수 sqrt(x) 함수는 x의 제곱근을 반환한다. import math print(math.sqrt(7)) gcd() 함수 gcd(a, b) 함수는 a와 b의 최대 공약수를 출력한다. import math print(math.gcd(21,14)) ※ 수학 공식에서 자주 등장하는 상수가 필요할 때도 math 라이브러리를 사용할 수 있다. ex) 파이(pi), 자연상수 e 참고자료: 이것이 취업을 위한 코딩 테스트다 with 파이썬 - 나동빈 지음(한빛미디어)

[파이썬 라이브러리] itertools

itertools는 파이썬에서 반복되는 데이터를 처리하는 기능을 포함하고 있는 라이브러리이다. 제공하는 클래스는 매우 다양하지만 코딩 테스트에서 유용하게 사용할 수 있는 클래스들을 정리해 볼 것이다. permutations permutations는 리스트와 같은 iterable 객체에서 r개의 데이터를 뽑아 일렬로 나열하는 모든 경우(순열)를 계산해준다. permutations는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다. 리스트 ['A', 'B', 'C']에서 3개를 뽑아 나열하는 모든 경우를 출력하는 예시는 다음과 같다. from itertools import permutations data = ['A', 'B', 'C'] result = list(permutations(d..

[파이썬 라이브러리] 내장 함수

파이썬에는 별도의 import 명령어 없이 바로 사용할 수 있는 내장 함수가 존재한다. 대표적인 내장 함수는 input()과 print() 인데 이미 '[파이썬 문법] 입출력' 포스트에서 언급했기 때문에 이를 제외한 함수를 정리해 볼 것이다. sum() 함수 sum() 함수는 리스트와 같은 iterable 객체가 입력으로 주어졌을 때, 모든 원소의 합을 반환한다. result = sum([1,2,3,4,5]) print(result) min() 함수, max() 함수 min() 함수는 파라미터가 2개 이상 들어왔을 때 가장 작은 값을 반환한다. result = min(7,5,6,2) print(result) max() 함수는 파라미터가 2개 이상 들어왔을 때 가장 큰 값을 반환한다. result = ma..

[파이썬 문법] 함수

파이썬에서 함수의 구조는 다음과 같다. 이때 매개변수와 반환 값은 없을 수 도 있다. def 함수명(매개변수): 실행할 소스코드 return 반환 값 def add(a,b): return a + b print(add(7,6)) ※ 여러 개의 반환 값 다른 언어와 달리, 파이썬에서 함수는 여러 개의 반환 값을 가질 수 있다. def operater(a,b): add = a + b sub = a - b mul = a * b div = a / b return add, sub, mul, div a,b,c,d = operater(7,3) print(a,b,c,d) global 키워드 함수 안에서 함수 밖의 데이터를 변경해야 하는 경우가 있는데 이때는 함수에서 global 키워드로 변수를 지정하면, 해당 함수에서는..

[파이썬 문법] 파이썬의 조건문

조건문 파이썬에서 조건문을 작성할 때는 if ~ elif ~ else 문을 사용한다. elif는 다른 언어에서 else if 로 사용하는 부분이다. 파이썬에서 조건문을 작성할 때는 코드의 블록을 들여쓰기(4개의 공백문자)로 설정해야한다. score = 95 if score >= 90: print("A") print("축하합니다.") elif score >= 80: print("B") else: print("C") 다만 위의 else문 같이 조건문에서 실행될 소스코드가 한 줄인 경우, 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다. ※ 조건부 표현식 조건부 표현식을 이용하면 if ~ else 문을 한 줄에 작성할 수 있다. score = 90 result = "Success" if score >= 90 ..

[파이썬 문법] 입출력

데이터 입력 받기 파이썬에서 데이터를 입력받을 때는 input() 함수를 사용한다. input() 함수는 한 줄의 문자열을 입력 받도록 해준다. 만약 입력받은 데이터를 정수형 데이터로 처리하기 위해서는 int() 함수로 input() 함수를 감싸서 사용하면 된다. 그리고 여러 개의 데이터를 입력받을 때는 데이터가 공백으로 구분되는 경우가 많다. 그래서 코딩테스트에서는 입력받은 문자열을 띄어쓰기로 구분하여 각각 정수형 데이터로 저장하는 코드의 사용 빈도가 매우 높다. 이때는 list(map(int, input().split()))을 이용하면 된다. map 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용한다. list(map(int, input().split()))의 동작 과정을 알아보면 가..

[파이썬 문법] 그 외 다양한 자료형(문자열, 튜플, 사전, 집합)

문자열 자료형 문자열 변수를 초기화할 때는 큰따옴표(")나 작은따옴표(')를 이용한다. 다만 문자열 안에 큰따옴표나 작은따옴표가 포함되어야 하는 경우가 있다. 기본적으로 문자열을 큰따옴표로 구성하는 경우, 내부적으로 작은따옴표를 포함할 수 있고 반대로 문자열을 작은따옴표로 구성하는 경우, 내부적으로 큰따옴표를 포함할 수 있다. 혹은 백슬래시(\)를 사용하면, 큰 따옴표나 작은따옴표를 문자열에 원하는 만큼 포함시킬 수 있다. data = "Don't you know \"Python\"?" print(data) 문자열 연산 파이썬은 문자열에 대한 연산도 지원한다. 자바와 같이 문자열 변수에 덧셈(+)을 이용하면 단순히 문자열이 더해져서 연결된다. C언어에서는 strcat()을 사용해야 한다. 또한 파이썬에서..

반응형