코틀린/코딩테스트 36

베이직챌린지

Q.1 [에디쌤] 1~100의 숫자중 2의 배수이면서 3의배수(and조건)인 숫자 출력해주세요 A.1fun main() {val answer = (1..100).filter{ it % 2 == 0 && it % 3 == 0} println(answer)}  Q.2 [에디쌤] 1~100까지 정수 중 홀수의 합을 출력해 주세요. [입력: X, 출력: 2500]A.2 fun main() {val answer = (1..100).filter{ it % 2 == 1}.sum() println(answer)}  Q.3 [에디쌤] 단어 뒤집기(입력: "Hello World", 출력: "olleH dlroW") 띄어쓰기 필수, 단어별로 뒤집기 A.3fun main() { val helloWorld = St..

과제 [조건문/반복문 문제 만들기]

달 달 무슨 달 7월 1일은 2번째 그믐달입니다. 7월 29일은 어떤 달일까요?    7월의 달 순환주기는 다음으로 정의됩니다.     그믐달 : 5일동안     삭 : 하루     초승달 : 7일동안     상현달 : 7일동안     보름달 : 하루     하현달 : 7일동안     그믐달 : 3일동안  홀수VS짝수1부터 100까지의 숫자 중, 짝수를 모두 더한 값과 홀수를 모두 더한 값은 각각 얼마일까요?   1000원 모아 태산(1)3번 문제 : 매일 급여가 1000원씩 오르는 일을 합니다. 1년동안 일을 하면 총 얼마를 받을까요? 1년은 365일로 하며 첫날은 1000원을 받습니다.   1000원 모아 태산(2)위의 일을 하다가 3천만원 이상 모으면 일을 그만두려고 합니다. 일한 날수와 금액은 얼..

코딩테스트 [x만큼 간격이 있는 n개의 숫자]

문제함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.   링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12954 풀이1. 접근1.1 관찰n개의 x배수를 Long배열로 담는 문제입력 : 정수출력 : 배열(Long) 1.2 계획 범위 : 1부터 n반복하기 : 반복횟수에 x를 곱하기반환하기 : Long타입으로 변환해서 담기    2. 시행착오2.1 시도 class Solution { fun solution(x: Int, n: Int): LongArray { var..

코딩테스트 [나머지가 1이 되는 수 찾기]

문제자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.   링크 : https://school.programmers.co.kr/learn/courses/30/lessons/87389 풀이1. 접근1.1 관찰나머지가 1인 수 중에 최솟값을 찾는 문제입력 : 정수출력 : 정수 1.2 계획 조건 : n % x == 1       2. 시행착오2.1 시도class Solution { fun solution(n: Int): Int { var answer: Int = 0 for(i in 1..n) { if(n % i == 1)..

코딩테스트 [약수의 합]

문제정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.   링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12928  풀이1. 접근1.1 관찰약수를 더해서 반환하는 문제입력 : 정수출력 : 정수 1.2 계획 n을 나눠서 조건에 따라 반복문으로 더해야겠다.     2. 시행착오2.1 시도class Solution { fun solution(n: Int): Int { var answer = 0 for(i in 1..n) { if(n % i == 0) answer += i } return answer }} 검증결과 : 성..

코딩테스트 [짝수와 홀수]

문제정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/12937  풀이1. 접근1.1 관찰짝수 홀수 판단해서 반환하는 문제입력 : 문자 출력 : 문자열 1.2 계획 2로 나눠서 확인하고 반환해야겠다.     2. 시행착오2.1 시도 class Solution { fun solution(num: Int): String = if (num % 2 == 0) "Even" else "Odd"} 검증결과 : 성공      회고 순서대로 풀기로 해서 더 기초적인 문제로 내려왔다. 최대한 간결하게 쓰는 연습을 했다.

코딩테스트 [문자열 뒤집기]

문제문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.  풀이1. 접근1.1 관찰문자열을 거꾸로 반환하는 문제입력 : 문자열 출력 : 문자열 1.2 계획 뒤집어주는 메소드가 있을 것 같아 찾아봤다.public inline fun String.reversed(): String { return (this as CharSequence).reversed().toString()} reversed() : 역순 문자열로 반환해주는 메소드reverse()라는 메소드도 있는데 배열에서 사용하는 메소드이니 주의     2. 시행착오2.1 시도 class Solution { fun solution(my_string: ..

코딩테스트 [삼각형의 완성조건 (1)]

문제선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/120889   풀이1. 접근1.1 관찰배열 내 최댓값과 나머지 값의 합을 비교해 반환하는 문제입력 : 배열(정수) 출력 : 정수 1.2 계획 두 값의 합보다 최댓값이 작아야만 성립하는 조건이므로 같을 때도 제외한다.최댓값 구하기 : max()나머지 값의 합과 비교하기 : i..

코딩테스트 [배열의 유사도]

문제두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.https://school.programmers.co.kr/learn/courses/30/lessons/120903  풀이1. 접근1.1 관찰두 배열 내 공통 요소의 개수를 반환하는 문제입력 : 배열(문자열), 배열(문자열) 출력 : 정수 1.2 계획 포함되는지 확인해서 1을 더해야겠다.확인하기 : for문으로 요소 하나씩 검사하기. contains()으로 검사 answer에 담기 : ++후위 증감연산자로 담기   2. 시행착오2.1 시도 class Solution { fun solution(s1: Array, s2: Array): Int..

코딩테스트 [최댓값 만들기(1)]

문제정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.풀이1. 접근1.1 관찰배열 내 최댓값 두 수를 곱한 결과를 반환하는 문제입력 : 배열(정수)출력 : 정수 1.2 계획 내림차순해서 0,1 인덱스를 곱해야겠다.내림차순하기 : sortDescending answer에 담기 : 0,1 인덱스 곱해서 담기   2. 시행착오2.1 시도 class Solution { fun solution(numbers: IntArray): Int { var answer: Int = 0 numbers.sortDescending() answer = numbers[0] *..