코딩테스트

    [al.go] #.12915 - 문자열 내 마음대로 정렬하기 [프로그래머스]

    문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n r..

    [al.go] #.12912 - 두 정수 사이의 합 [프로그래머스]

    두 정수 사이의 합 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 문제 해결하기 func solution(a int, b int) int64 제한 조건 중 3번째 조건에 주목하자. a, b의 대소관계는 정해져있지 않다 함은 어떤 것이 더 작거나 큰지 알 수 없다는 것이므로 반복문을 돌..

    [al.go] #.12910 - 나누어 떨어지는 숫자 배열 [프로그래머스]

    나누어 떨어지는 숫자 배열 문제 설명 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] 문제 해결하기 func solution(arr []int, divisor int) []i..

    [al.go] #.12903 - 가운데 글자 가져오기 [프로그래머스]

    가운데 글자 가져오기 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 조건 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 문제 해결하기 func solution(s string) string 이 문제는 간단하다. 특히나 Go 에서는 슬라이스를 사용할 수 있어서 더욱 간단하다. 문자열의 길이에서 가장 중간에 해당하는 위치를 구하고, 거기에 2로 나뉘어지지 않으면, 해당 인덱스를, 나뉘어 진다면 중간에 있는 두 개를 가져오면 되는데, 코드는 설명할것도 없이 아래와 같다. func solution(s string) string { cent..

    [al.go] #.12901 - 2016년 [프로그래머스]

    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" 문제 해결하기 이것은 본래 달력을 만들 수 있는 알고리즘을 사용하게 되면 만들 수 있으나, 일반적으로 대부분의 언어에서..