본문 바로가기

level143

[프로그래머스][LEVEL1]가운데 글자 가져오기 # 문제 원문 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s / return "abcde" "c" "qwer" "we" # 문제 풀이 입력 받은 문자열 s의 length가 홀이냐 짝이냐에 따라서 s의 mid 2글자 (혹은 한글자)를 구해서 반환하는 간단한 문제 삼항 연산자와 slice 함수를 이용해서 처리했다. s.length를 2로 나누었을때 나머지가 있냐 없냐에 따라서 2분기로 나뉜다. # 솔루션 플로우 1. 입력 받은 문자열 s의 length가 % 2로 나눈후 나머지가 0인지 확인한다. (2, 3) 2. 나누어지면 s.length의.. 2021. 8. 18.
[프로그래머스][LEVEL1] 소수 찾기 # 문제 원문 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n / result 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 # 문제 풀이 소수에 대한 수학적 지식을 망각한지 확인하는 문제, 단순히 모든 수를 2부터 반복해서 체크하면 정확도는 몰라도 효율성에서 통과를 하지 못한다. 결국 한번에 모든 소수를 구한 후에 그 result를 체크해야.. 2021. 8. 18.
[프로그래머스][LEVEL1] 제일 작은 수 제거하기 # 문제 원문 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr / return [4,3,2,1] [4,3,2] [10] [-1] # 문제 풀이 입력 받은 arr에서 가장 작은 수를 구하고 제거한 배열을 반환하는 간단한 문제. 빈배열일 경우 -1를 담아서 반환하고 무조건 하나를 제거하기에 arr.length가 1 이상인지 먼저.. 2021. 8. 18.
[프로그래머스][LEVEL1] 2016 # 문제 원문 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일같은 날짜는 주어지지 않습니다) 입출력 예 a / b / result 5 24 "TUE" # 문제 풀이 입력받은 a, b를 통해서 2016년 a월 b일의 요일을 구하고 그 요일에 해당하는 문자열을 반환하는.. 2021. 8. 18.