코틀린 48

코딩테스트 [가장 큰 수 찾기]

문제정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. https://school.programmers.co.kr/learn/courses/30/lessons/120899 풀이1. 접근1.1 관찰배열에서 가장 큰 숫자와 인덱스를 꺼내 차례대로 담아주는 문제입력 : 배열(정수)출력 : 배열(정수) 1.2 계획 정렬하기 : 내림차순하기answer에 담기 : 0번째 요소와 인덱스를 담기   2. 시행착오2.1 시도 class Solution { fun solution(array: IntArray): IntArray { var answer: IntArray = intArrayOf() a..

코딩테스트 [대문자와 소문자]

문제문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/120893 풀이1.1 관찰문자열에서 대소문자간 변환해서 출력하는 문제입력 : 문자열출력 : 문자열반복문으로 대소문자를 식별하고 변환할 메소드가 필요하겠다. 1.2 계획 반복하기 : my_string 모든 문자 반복하기. for문으로 요소(문자) 하나씩 확인해야 하므로 i 부터 문자열까지 범위로 지정한다.조건걸기 : 대문자면 소문자, 소문자면 대문자로 변환하기. if문으로 작성한다.answer에 더하기 : 조건에 일치하면 answer에 더해서 ..

코딩테스트 [암호 해독]

문제군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다. 암호화된 문자열 cipher를 주고받습니다. 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다. 문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/120892 풀이1.1 관찰문자열에서 변수의 배수번째 문자만 출력하는 문제입력 : 문자열, 정수출력 : 문자열배수번째 문자를 꺼내야하므로 인덱스 번호를 확인해야겠다. 1.2 계획 반복하기 : cipher 모든 문자 반복하기. 조건달기 : code의 배수가 맞는지 확인하기...

코딩테스트 [숨어있는 숫자의 덧셈 (1)]

문제문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/120851 풀이1. 접근1.1 관찰문자열에서 숫자만 꺼내 더해주는 문제입력 : 문자열출력 : 정수 1.2 계획 i 정의하기 : my_string의 요소i 확인하기 : 자연수인지 확인하기answer에 더하기 : 조건에 일치하면 answer에 더해서 담기   2. 시행착오2.1 시도class Solution { fun solution(my_string: String): Int { var answer: Int = 0 for(i..

코딩테스트 [가위 바위 보]

문제가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요. https://school.programmers.co.kr/learn/courses/30/lessons/120839 풀이1. 접근1.1 관찰바위 = 0가위  = 2보 = 5 기능 : 문자열나누기. 배열에 담기. 반복문for(범위:인덱스 크기) 안에 조건문when(이기는 값을 하나씩 가져와서) 으로 확인하기. 문자열로 합치기반환 : 문자열 반환  1.2 준비 chunked() : 괄호 내 숫자만큼 문자열을 나누는 메소드joinToString() : 요소..

코딩테스트 [개미 군단]

문제개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/120837 풀이1. 접근1.1 관찰머쓱이와..

코딩테스트 [아이스 아메리카노]

문제머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. https://school.programmers.co.kr/learn/courses/30/lessons/120819  풀이1. 접근1.1 관찰기능 : money를 5500으로 나눈다. 몫을 담는다. money의 나머지를 구한다. 나머지를 담는다. 반환 : 배열을 리턴한다.     2. 시행착오2.1 시도가설 : /와 %연산자로 각각 연산 후 복합대입연산자로 배열에 담으면 될 것이다.class Solutio..

코딩테스트 [짝수는 싫어요]

문제정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.https://school.programmers.co.kr/learn/courses/30/lessons/120813  풀이1. 접근1.1 관찰기능 : 1부터 n까지 범위로 설정한다. 2로 나누어 나머지가 0이 아니면 answer에 담는다. 반복한다. 반환 : 배열을 리턴한다.     2. 시행착오2.1 시도가설 : for문으로 1부터 n까지 범위로 설정하고 if조건문으로 2로 나눈 나머지가 0이 아닌 경우에만 배열에 담으면 될 것이다.class Solution { fun solution(n: Int): IntArray { var answer: IntArr..

코틀린문법 5주차 강의 [심화]

유용한 기능자료형 변환to자료형()메소드로 자료형을 변환할 수 있다. 원래 값 자체를 바꾸는 게 아니라 형태를 변환시켜주는 것문자를 숫자로 바꾸려면?정수 : Integer.parseInt() = toInt()실수 : .toDouble()Integer는 싱글턴으로 선언된 클래스Integer.parseInt() 와 Integer.valueOf()문자열을 정수로 변환해주는 메소드. parseInt는 결과를 기본 자료형 Int로 반환해주고 valueOf는 객체를 생성해 참조 자료형 Int로 반환해준다.  객체 as 클래스명as로 객체의 자료형을 변환할 수 있다. 상속관계에서 가능. OOP 5대 특징 중 가용성에 해당업캐스팅 : 자식클래스를 부모클래스의 자료형으로 객체 생성. 배열의 자료형이 부모 클래스 일 때 ..

코딩테스트 [머쓱이보다 키 큰 사람]

문제머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.https://school.programmers.co.kr/learn/courses/30/lessons/120585 풀이1. 접근1.1 관찰기능 : array에서 height보다 큰 수를 확인한다. 개수를 담는다.반환 : 개수를 리턴한다.    2. 시행착오2.1 시도가설 : count에 {}조건으로 it이 height보다 큰지 확인하여 개수를 세면 될 것이다.class Solution { fun solution(array: In..