원 문제 링크어떤 자연수를 삼진법으로 표현하기 위해서는 그 자연수를 몫이 3보다 작아지기 전까지 계속 3으로 나누고, 그 과정에서 발생한 나머지들을 역순으로 정렬하면 된다.45 / 3 = 15, 나머지 015 / 3 = 5, 나머지 05 / 3 = 1, 나머지 21 /
combinations(iterable, n): iterable에 들어있는 값 중 n개를 뽑을 수 있는 조합 반환combinations_with_replacement(iterable, n): 복원 추출이 가능할 때 조합 반환permutations(iterable, n)
알고리즘 코드카타 46번 - 숫자 문자열과 영단어몇 십 분 .. 어쩌면 한 시간 이상 짰다. 다 풀고 다른 사람들이 푼 코드를 살펴보고 나서야 정말 쉽게 풀 수 있는 문제라는 걸 깨달았다 ... 너무 충격적이라서 잊어버리고 싶지 않은 마음에 기록한다 ..고작 repla
코드카타 47번 - 문자열 마음대로 정렬하기sorted()에서는 key를 통해 정렬 기준을 정할 수 있다.sorted(list, key = len) : 원소의 길이 순으로 정렬sorted(list, key = abs) : 원소의 절댓값 크기로 정렬 등이 문제에서는 ke
알고리즘 코드카타 50번 - 가장 가까운 같은 글자rfind(), rindex()를 이용하여 위 문제를 풀었다.일반적으로 index()와 find()는 string이나 list에서 입력받은 요소의 위치(인덱스)를 찾아 반환같은 요소가 두 개 이상 있다면 가장 앞에 있는
코드카타 54번 - 2016년생각보다 쉽게 풀어서 뿌듯한 마음에 기록 ..
1부터 n까지 다 돌기n // 2 까지만 계산한 후 n 추가하기모든 자연수는 어떤 두 수 A와 B의 곱으로 나타낼 수 있다. 따라서 n의 제곱근까지 약수를 구하면 그 약수들의 짝이 되는 약수까지 자동으로 구해진다.다른 버전프로그래머스 - 기사단원의 무기
문자 -> 아스키코드: ord()아스키코드 -> 문자: chr()백준11654 - 아스키코드
컴퓨터의 현재 시각을 datetime 클래스 객체로 만들어 반환yearmonthdayhourminutesecondmicrosecond지정한 문자열 포맷으로 날짜, 시간 반환%Y: 앞의 빈자리를 0으로 채우는 4자리 연도 숫자%m: 앞의 빈자리를 0으로 채우는 2자리 월
백준 10809 - 알파벳 찾기알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.첫째 줄에 단어 S가 주어진다. 단어의 길이는
코드카타 68번 - 프로그래머스 햄버거 만들기햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된
백준 2231번 - 분해합어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 2
import pandas as pddata = { 'Name': 'John', 'Emily', 'Michael', 'Age': 30, 25, 35, 'City': 'New York', 'Los Angeles', 'Chicago'}df = pd.DataF
파일 시스템에서 파일을 찾을 때 사용되는 도구파일 이름의 패턴 매칭을 통해 파일을 검색하고, 일치하는 파일의 리스트를 반환주로 파일 이름이나 확장자에 따라 파일을 필터링아래처럼 리스트에 파일명이 담겨 출력된다. 'hello.py', 'wordle.py', 'hello_
os 모듈은 운영 체제와 상호 작용하기 위한 다양한 함수 제공파일 시스템을 관리하고, 디렉토리를 탐색하고, 파일을 조작하는 데 사용파일 생성, 이름 변경, 삭제 등디렉토리 생성, 탐색, 삭제 등 절대 경로, 상대 경로, 현재 작업 디렉토리 등의 경로 관리경로 구성 요
주어진 문제를 (1) 부분 문제들로 분할하고 (2) 각 부분 문제에 대한 해결책을 찾은 후 (3) 부분 해들을 통합하여 원래 문제의 해결책을 찾는 전략분할 정복 전략에 의해 설계된 알고리즘을 분할 정복 알고리즘이라고 한다.분할 divide: 주어진 문제를 동일한 부분
합병 정렬 (1) 사이즈가 ndls
(1) 사이즈가 n인 하나의 리스트 내의 특정 원소인 피벗(pivot)을 기준으로(2) 피벗보다 작은 원소들과 큰 원소들을 좌우로 분리하여 두 개의 비균등한 서브리스트를 구성하고(3) 각 서브리스트를 재귀적은 방식으로 퀵 정렬을 수행하여 정렬한 다음(4) 두 개의 정렬
백준 15552 - 빠른 A+B input() 파이썬 기초 문법으로 입력을 받는 가장 기본 적인 방법. 하지만 입력 양이 많으면 for문이나 while문으로 한 줄씩 입력 받는 것이 시간 초과로 이어진다. > [백준 15552] Python을 사용하고 있다면, in
백준 10989 - 수 정렬하기3N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이
2진수 앞에는 0b, 8진수 앞에는 0o, 16진수 앞에는 0x가 붙어서 출력된다. 결과는 '문자열'
단점: 큰 값이 입력된 경우 시간 초과가 발생할 수 있다.0, 1을 시작으로 n만큼 for문을 돌면서 직전 두 수의 합을 새로 할당한다.
원래 그 문자가 가진 뜻이 아니라 특별한 의미를 가진 문자.문자 클래스로 만들어진 정규식은 ''dhk ''사이의 문자들과 매치 정규 표현식이 abc라면 이 표현식의 의미는 ‘a, b, c 중 한 개의 문자와 매치’를 뜻한다. 문자 클래스 안에 ^ 메타 문자를 사용할
2개의 자연수 a, b에 대해서(a > b 일 때), a를 b로 나눈 나머지를 r이라고 하면a와 b의 최대공약수는 b와 r의 최대공약수와 같다a, b의 곱을 a, b의 최대 공약수로 나누면 최소공배수를 구할 수 있다.알고리즘 코드카타 81번 | 프로그래머스 N개의 최소
불러오기사용하기결과리스트의 원소 별 개수를 딕셔너리 형태로 반환한다.count(): for문으로 리스트(집합)의 모든 요소 순회 \* 각 요소의 개수를 카운트하기 위해 순회 = O(N^2)Counter(): 리스트를 전체적으로 한번에 훑어서 딕셔너리 형태로 각 원소의
프로그래머스 | 정수를 나선형으로 배치하기양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 0부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.현재 위치 추적하기 row col현
ljust() - 왼쪽 정렬 ljust() - 오른쪽 정렬
합성수를 지우는 방식으로 소수를 찾는 방법.1은 제거지워지지 않은 수 중 제일 작은 2를 소수로 채택하고, 나머지 2의 배수를 모두 지운다.지워지지 않은 수 중 제일 작은 3을 소수로 채택하고, 나머지 3의 배수를 모두 지운다.지워지지 않은 수 중 제일 작은 5를 소수
문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를
Breadth First Search큐 이용
백준 1012 | 유기농 배추차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배
갑부 최백준 조교는 동전을 최소로 바꾸는데 성공했으나 김재홍 조교가 그 돈을 발견해서 최백준 조교에게 그 돈을 나누자고 따진다.그 사실이 전 우주로 알려지자 우주에 있던 많은 생명체들이 자신들에게 돈을 분배해 달라고 당장 달려오기 시작했다.프로토스 중앙 우주 정부의 정
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.
25년 간의 수행 끝에 원재는 미래를 보는 능력을 갖게 되었다. 이 능력으로 원재는 사재기를 하려고 한다.다만 당국의 감시가 심해 한 번에 많은 양을 사재기 할 수 없다.다음과 같은 조건 하에서 사재기를 하여 최대한의 이득을 얻도록 도와주자.예를 들어 3일 동안의 매매
SWEA 1928. Base64 Decoder(https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PR4DKAG0DFAUq)다음과 같이 Encoding 을 한다.우선 2