20240119/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 문자열 나누기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다. 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문..
20240118/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 옹알이 (2) | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 30 문자열은 알파벳 소문자로만 이루어져 있습니다. 나의 풀이 발음할 수 있는 단어를 공백 처리하여 공백 개수를 세는 방향..
20240117/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 소수 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 나의 풀이 . 모범 답안 def solution(n): num=set(range(2,n+1)) for i in range(2,n+1): if i in num: num-=set(range(2*i,n+1,i)) return len(num) 2. 코딩테스트 연습 - 기사단원의 무기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습..
20240116/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 2016년 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 나의 풀이 . 모범 답안 def getDayName(a,b): month = [31..
20240115/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다..
20240114/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 입출력 예 설명 나의 풀이 . 모범 답안 def solution(n): answer = '' while n > 0: n, re = divmod(n,3)# n을 3으로 나눈 몫과 나머지 answer += str(re) return int(answer, 3) n=45일 때 n re 45 0 15 0 5 2 0 1 ★ divmod() 함수 두 개의 숫자를 인자로 받아, 첫 번째 숫자를 두 번째 숫자로 나눈 몫과 나머지를 튜플(tuple) ..
20240113/ programmers/ 1단계/ python
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 행렬의 덧셈 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 나의 풀이 def solution(arr1, arr2): arr=[[],[]] for i in range(len(arr1)): if len(arr1[0])==1: arr[i].append(arr1[i]+arr2[i]) else: for j in range(len(arr1)): arr[i][j].append(arr1[i][j]+arr2[i][j]) return arr arr를 빈 리스트로 초..
20240112/ programmers/ 1단계/ python/O
·
코딩테스트/programmers (python)
1. 코딩테스트 연습 - 음양 더하기 | 프로그래머스 스쿨 (programmers.co.kr) 2. 코딩테스트 연습 - 콜라츠 추측 | 프로그래머스 스쿨 (programmers.co.kr) 3. 코딩테스트 연습 - 내적 | 프로그래머스 스쿨 (programmers.co.kr) 4. 코딩테스트 연습 - 부족한 금액 계산하기 | 프로그래머스 스쿨 (programmers.co.kr) 5. 코딩테스트 연습 - 문자열 다루기 기본 | 프로그래머스 스쿨 (programmers.co.kr)