오늘 할 일: 끝내주게 숨쉬기
[프로그래머스] level 1 : 문자열 다루기 기본
OLD/Coding Test 2020. 2. 6. 21:05

문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 s return a234 false 1234 true Solution 1 2 def solution(s): return s.isdigit() and (len(s) == 4 or len(s) == 6) cs 코드해석 조건 1. 문자열이 숫자라면 TRUE, 숫자가 아니라면 FALSE를 반환하는 isdigit 함수를 사용하여 s가 숫자인지 여부를 확인합니다. 조건 2. 문자열의 길이를 반환하는 len 함수를 사용하여 길이가 4 또는..

[프로그래머스] level 1 : 문자열 내 p와 y의 개수
OLD/Coding Test 2020. 2. 6. 20:53

문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 s answer "pPoooyY" true "Pyy" false Solution 1 2 3 def solution(s): s = s.upper() return s.count(..

[프로그래머스] level 1 : 나누어 떨어지는 숫자 배열
OLD/Coding Test 2020. 2. 6. 20:43

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] Solution 1 2 3 4 def solution(arr, divisor): answer = s..

[프로그래머스] level 1 : 서울에서 김서방 찾기
OLD/Coding Test 2020. 2. 6. 20:17

문제 설명 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. Kim은 반드시 seoul 안에 포함되어 있습니다. 입출력 예 seoul return [Jane, Kim] "김서방은 1에 있다" Solution 1 2 def solution(seoul): return ("김서방은 %d에 있다" % seoul.index("Kim")) cs 코드 해석 문자열 안에 원소의 위치를 삽입하기 위해 숫..

article thumbnail
[프로그래머스] SQL 고득점 Kit : JOIN

※ 모든 코드는 Oracle을 기준으로 작성되었습니다. 1. 없어진 기록 찾기 문제설명 Solutions 1 2 3 4 5 6 SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O LEFT OUTER JOIN ANIMAL_INS I ON O.ANIMAL_ID = I.ANIMAL_ID WHERE I.ANIMAL_ID IS NULL ORDER BY ANIMAL_ID; cs 코드해석 입양을 간 기록은 있는데 보호소에 들어온 기록이 없다면 입양 간 동물의 정보를 담은 테이블 ANIMAL_OUTS의 모든 값이 일단 조회가 되어야겠죠. 그래서 ANIMAL_ID을 기준으로 LEFT JOIN을 사용하여 조인을 수행하고요, ANIMAL_INS의 ANIMAL_ID가 존재하지 않는다면 NULL로..

article thumbnail
[프로그래머스] SQL 고득점 Kit : GROUP BY

※ 모든 코드는 Oracle을 기준으로 작성되었습니다. 1. 고양이와 개는 몇 마리 있을까 문제 설명 Solution 1 2 3 4 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; 코드해석 GROUP BY절을 사용하여 동물의 종에 따라 그룹화를 하고, COUNT 함수를 사용하여 동물의 종마다 행의 개수를 집계합니다. 고양이(Cat)가 개(Dog)보다 먼저 조회되어야 하므로 ORDER BY절을 사용해 동물의 종으로 정렬하였습니다. 2. 동명 동물 수 찾기 문제 설명 Solution 1 2 3 4 5 6 SELECT NAME, COUNT(NAME) FROM ANIMAL_I..

article thumbnail
[프로그래머스] SQL 고득점 Kit : SUM, MAX, MIN

※ 모든 코드는 Oracle을 기준으로 작성되었습니다. 1. 최댓값 구하기 문제 설명 Solution 1 2 3 4 5 SELECT DATETIME FROM (SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC) WHERE ROWNUM = 1; 코드해석 서브쿼리를 활용하여 보호 시작일을 내림차순 정렬합니다. 날짜를 내림차순 정렬하게 되면 가장 최근 날짜가 맨 위에 위치하게 됩니다. 정렬된 테이블에서 행 번호가 1인 행을 추출합니다. 2. 최솟값 구하기 문제 설명 Solution 1 2 3 4 5 SELECT DATETIME FROM (SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME) WHERE ROWNUM = 1; 코..

반응형