전체 글 69

프로그래머스 - 직사각형 별찍기 (레벨1, swift)

문제출처programmers.co.kr/learn/courses/30/lessons/12969 문제설명이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한사항 - n과 m은 각각 1000 이하인 자연수입니다. 입출력 예입력5 3출력 ***** ***** ***** 문제풀이입력받은 두 수 중 첫번째 수만큼의 "*"를 두번째 수만큼 반복해서 출력하면 되는 아주 간단한 문제이다.String(repeating: , count: )를 사용하면 정말 간단하게 해결할 수 있다.

코딩테스트 2020.06.28

프로그래머스 - 이상한 문자 만들기 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12930 문제설명 👀 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 - 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. - 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" 입출력 예 설명 "try hello world"는 세 단어 try, hello, wo..

코딩테스트 2020.06.27

프로그래머스 - x만큼 간격이 있는 n개의 숫자 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12954 문제설명 👀 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한사항 - x는 -10000000 이상, 10000000 이하인 정수입니다. - n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] 문제풀이 -> 입력받은 x를 n번 더해서 그 값을 반환하면 되는 아주 간단한 문제이다.

코딩테스트 2020.06.27

프로그래머스 - 최대공약수와 최소공배수 (레벨1, swift)

문제출처 programmers.co.kr/learn/courses/30/lessons/12940 문제설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한사항 - 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 n m return 3 12 [3, 12] 2 5 [1, 10] 입출력 예 설명 입출력 예 #1 위의 설명과 같습니다. 입출력 예 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니..

코딩테스트 2020.06.26

프로그래머스 - 콜라츠 추측 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12943 문제설명 👀 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을..

코딩테스트 2020.06.26

프로그래머스 - 소수찾기 (레벨1, swift)

문제출처programmers.co.kr/learn/courses/30/lessons/12921 문제설명1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한사항 - n은 2이상 1000000이하의 자연수입니다. 입출력 예nresult10453 입출력 예 설명입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 문제풀이소요시간 : 20분 정도 소요이 문제는 iOS수업 수강 당시 풀어본 적이 있어서 그때의 기억을 떠올리며 전체 코드는 일찍 짤 수 있었다.그런..

코딩테스트 2020.06.26

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

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12933 문제설명 👀 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한사항 - n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 n return 118372 873211 문제풀이 -> 매우 쉬움(소요시간 : 5분 미만) 이건 그냥...타입만 맞춰주고 .sorted(by: >)사용하여 정렬만 해주면 된다. Int64로 형변환은 옵셔널값이 반환되므로 ?? 를 사용해주어 nil이 나올경우엔 0이 반환되도록 해주었다.

코딩테스트 2020.06.25

프로그래머스 - 제일 작은 수 제거하기 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12935 문제설명 👀 정수를 저장한 배열, 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] 문제풀이 -> 매우 쉬움(소요시간 : 5분 미만) swift는 .min()을 사용하면 해당 배열..

코딩테스트 2020.06.25

프로그래머스 - 행렬의 덧셈 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12950 문제설명 👀 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한사항 - 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] 문제풀이 -> 행렬의 같은 위치의 숫자들 끼리 더하면 되는 문제이다. 2중 반복문을 사용해서 해결했다. 1) 행렬의 행만큼 반복문을 ..

코딩테스트 2020.06.25

프로그래머스 - 자연수 뒤집어 배열로 만들기 (레벨1, swift)

문제출처 👇 programmers.co.kr/learn/courses/30/lessons/12932 문제설명 👀 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한사항 - n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5, 4, 3, 2, 1] 문제풀이 -> 매우 쉽고 간단한 문제이다 (소요시간: 5분 미만) 1) n을 String타입으로 바꿔준 뒤, .reversed()를 이용해 순서를 뒤집어준다. 2) 다시 Int로 바꿔서 한글자씩 Int배열에 담아준다. 위 내용을 순서대로 구현하면 아래와 같다.

코딩테스트 2020.06.25