코딩테스트 63

프로그래머스 - 체육복 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/42862 문제설명 👀 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개..

코딩테스트 2020.06.24

프로그래머스 - 자릿수 더하기 (레벨1, swift)

문제출처 programmers.co.kr/learn/courses/30/lessons/12931 문제설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 - N의 범위 : 100,000,000 이하의 자연수 입출력 예Nanswer123698724 입출력 예 설명입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. 문제풀이매우 쉬움(소요시간 : 5분 미만)형변환을 이용해서 풀면 매우 간단하다. 1) for문을 사용하기 위해 Int타입인 n을 String으로 먼저 바꿔 주고, 2) numb..

코딩테스트 2020.06.23

프로그래머스 - 2016년 (레벨1, swift)

문제출처programmers.co.kr/learn/courses/30/lessons/12901 문제설명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일같은 날짜는 주어지지 않습니다) 입출력 예abresult524"TUE" 문제풀이1월 1일부터 입력받은 날짜만큼 총 일..

코딩테스트 2020.06.23

프로그래머스 - 문자열 내 p와 y의 개수 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12916 문제설명 👀 대문자와 소문자가 섞여있는 문자열 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 입출력 ..

코딩테스트 2020.06.23

프로그래머스 - 문자열 내림차순으로 배치하기 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12917 문제설명 👀 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한사항 - str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" 문제풀이 -> 매우 쉬움(소요시간 : 5분 미만) 이건 진짜 너무 너무 간단해서ㅋㅋㅋ 1분도 안걸린듯? sorted(by: >)를 사용하면 끝이다. 다만 배열로 반환이 되니 return 타입에 맞게 String으로 변환만 해주면 너무나 간단하게 해결된다. 대문자가 자동으로 소문..

코딩테스트 2020.06.22

프로그래머스 - 수박수박수박수박수박수? Swift (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12922 문제설명 👀 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한사항 - n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 문제풀이 -> 매우 쉬움(소요시간 : 5분 미만) 주어진 숫자만큼 번갈아 가면서 수와 박이 저장되도록 하면 된다. 수와 박을 배열에 저장하고 0부터 주어진 숫자까지 반복문을 돌리면서 해당 숫자를 2로 나눠서 나머지가 0일경우 "수", 1일 경우엔 "박"이 저장되도록 하면 간단하다.

코딩테스트 2020.06.22

프로그래머스 - 약수의 합 (레벨1, swift)

문제출처 programmers.co.kr/learn/courses/30/lessons/12928 문제설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한사항 - n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. 문제풀이 매우 쉬움(소요시간 : 5분 미만) 약수의 정의는 나누어 떨어지는 모든 자연수 이다. 반복문을 사용하여 1부터 주어지는 수(n)까지 순차적으로 나누어 떨어지는 숫자를 찾아 모두 더하면 끝이다.

코딩테스트 2020.06.21

프로그래머스 - 두 정수 사이의 합 (레벨1, swift)

문제출처programmers.co.kr/learn/courses/30/lessons/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의 대소관계는 정해져있지 않습니다. 입출력 예abreturn35123335312 문제풀이매우 쉬움(소요시간 : 5분 미만) min(), max() 함수를 이용해서 주어진 두 숫자의 작은 수와 큰 수를 정하고 이 두 숫자 사이의 합을 구하면 ..

코딩테스트 2020.06.21

프로그래머스 - 문자열 다루기 기본 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12910 문제설명 👀 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한사항 - s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 s return "a234" false "1234" true 문제풀이 -> 매우 쉬움(소요시간 : 5분 미만) 1) 문자열의 길이가 4 혹은 6인지 확인하기 (guard 사용) 2) 문자열을 Int로 변환해보고 변환에 성공하면 true, 실패시 false return 하기 (옵셔널 사용) 문자열이 숫자로만 이루어져 있는지 한..

코딩테스트 2020.06.20

프로그래머스 - 가운데 글자 가져오기 (레벨1, swift)

문제출처 http://programmers.co.kr/learn/courses/30/lessons/12903코딩테스트 연습 - 가운데 글자 가져오기단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s retprogrammers.co.kr 문제설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 - s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예sreturnabcdecqwerwe 문제풀이이 문제는 매우 간단하고 쉽다swift에서 String의 개별 문자..

코딩테스트 2020.06.19