1.문제 1-1 문제 이해인덱스 2개(인덱스 0 = 가로 길이, 인덱스 1 = 세로 길이)의 배열이여러개가 들어 있는2차원 배열이 주어질 때 해당 2차원 배열 속 각 배열 속 요소2개의 곱의 값을 모두 수용할 수 있는값을 만들어야한다. 주의할 점은세로가 더 긴 요소는 가로로 눕혀 수납하여라 즉, 더 긴값을 가로로 취급하는것이 포인트 1-2 로직구성1. 2차원 배열 속 각 배열 속 2개의 요소를 서로 비교하여 큰 값을 가로 작은 값을 세로에 담는다.2. 가로,세로 각각 담겨있는 배열을 정렬한 후 맨 뒤에 값( 가장 큰 값)을 서로 곱한다. 1-3 풀이 과정 1. 2차원 배열 속 각 배열 속 2개의 요소를 서로 비교하여 큰 값을 가로 작은 값을 세로에 담는다.class Solution { fun s..
1. 문제1-1 문제 이해숫자로 이루어진 문자열 2가지(t와p)가 주어질 때t에서p와 길이가 같은 모든 부분 문자열을p와 비교해서 p보다 작거나 같은 수의 개수를 카운트해서 return하는 함수를 만들자1-2 로직 구성1. t에서 p와 길이가 같은 모든 부분 문자열 구하기2. 부분 문자열이 p보다 작거나 같으면 카운트 하기 1-3 풀이 과정1. t에서 p와 길이가 같은 모든 부분 문자열 구하기여러 방법이 있겠지만 substring을 활용하여 구해보기로 했다. 만약 T가 "3141592" , P가 "271"이라면T에서 P의 문자열 길이만큼에 부분 문자열을 모두 구해야한다."314","141","415","159", "592" 가 되겠고 인덱스로 본다면012123234345456이 된다substring 기준..
1.문제1-1 문제 이해문자열 s가 주어질 때각 단어의짝수번째 알파벳은 대문자,홀수 번째 알파벳은 소문자로 바꾼 문자열을 return하는 함수 만들기 (각 단어는 하나 이상의 공백문자로 구분되어 있다.) 문자열 전체의 짝/홀수 인덱스가 아닌단어기준 짝/홀수 인덱스 판단1-2 로직구성1. split을 이용하여 공백을 기준으로 각 단어를 리스트의 요소 취급하기2. 각 요소(단어)별 짝수면 대문자로 홀수면 소문자로 만들기3. 각 요소(단어)별 반복문 작업 끝나면 공백 넣어주기(각 단어는 하나 이상의 공백문자로 구분되어 있던 형태로 원복)4. substring을 사용하여 마지막 공백 표시하지 않기1-3 풀이 과정1. split을 이용하여 공백을 기준으로 각 단어를 리스트의 요소 취급하기문제에서각 단어는 하나 이..
1.문제 1-1 문제 이해자연수 매개변수 n을 3진법 상에서 앞뒤로 뒤집고다시 10진법으로 표현한 수를 리턴하는 함수 만들기1-2 로직구성1. 3진법 상에서 뒤집기2. 10진법으로 변환1-3 풀이 과정1. 3진법 상에서 뒤집기자연수를 문자열로 형변환 할 때toString()을 사용한다. 그런데 toString()에 괄호 속에 3을 집어넣으면3진법으로 변환 시켜준다.[ 예시 ]class Solution { fun solution(n: Int) = n.toString(3)}3진법으로 변환되어 1200이 나오는걸 알 수 있다. 그걸 다시 reversed()를 이용해 뒤집으면 된다.class Solution { fun solution(n: Int) = n.toString(3).reversed()} 1..
1.문제1-1 문제 이해 매개 변수로 받은 두 수의 최대 공약수와 최소 공배수를 배열에 담아 반환하는 함수 만들기( 배열 맨 앞에 최대 공약수, 그 뒤에 최소 공배수 )1-2 로직구성1. 두 수의 최대 공약수 구하기2. 최소 공배수 구하기 (두 수의 곱 나누기 최대 공약수 = 최소 공배수)3. 배열에 담기( 최대 공약수가 앞에 오게끔 먼저 담기)1-3 풀이 과정 1. 두 수의 최대 공약수 구하기특정 두 수의 최대 공약수를 구하려면특정 두 수가 n,m 이고 둘 중에 큰 수가 m 이라고 했을 때1부터 n까지의 모든 숫자를 n과 m 각각 나눠 보면서두 수 모두 나머지가 0으로 나누어 떨어지는 수가 약수들이고 1부터 m까지의 수 중에 가장 마지막에나누어 떨어지는 수가 최대 공약수 이므로 반복문 속에 1부터n까..
1.문제1-1 문제 이해두개의 정수 타입 매개변수 n과 m이 주어질때별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보기1-2 로직구성1. 이중 반복문에 가로 세로 길이 대입2. 줄바꿈 잊지 않기1-3 풀이 과정1. 이중 반복문에 가로 세로 길이 대입문제에서 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 요구 했는데반복문의 경우for(i in a..b){ // a순서에 ab 그리고 b순서에 ab for(j in a..b){ } }이런식으로 바깥쪽 for문의 n번째 마다 안쪽for문을 전부 실행하는 방식이기에***** // 첫번째에 별(*)다섯번 출력***** // 두번째에 별(*)다섯번 출력***** // 세번째에 별(*)다섯번..
1.문제1-1 문제 이해매개변수로 주어지는행과 열의 크기가 같은(같은 꼴의)행렬1과 행렬2의 덧셈을 반환 하는 함수 만들기1-2 로직구성일단 행렬의 덧셈 이전에 행렬에 각 요소에 접근하는 방식에 대해알아보자행렬은 서로 같은 꼴일 경우 덧셈과 뺄셈 등 연산이 가능하다. 행렬𝐴=[𝑎𝑖𝑗]이고행렬𝐵=[𝑏𝑖𝑗]일 때,두 행렬의 덧셈은 𝐴+𝐵=[𝑎𝑖𝑗+𝑏𝑖𝑗] 1. 이중 반복문을 통해 해당 행렬 꼴의 행과 열의 크기만큼의 인덱스에 접근하여 덧셈을 한다.2. 행렬(2차원 배열)을 만들어 덧셈한 값을 넣는다.1-3 풀이 과정1. 이중 반복문을 통해 해당 행렬 꼴의 행과 열의 크기만큼의 인덱스에 접근하여 덧셈을 한다.행렬𝐴=[𝑎𝑖𝑗]이고행렬𝐵=[𝑏𝑖𝑗]일 때,두 행렬의 덧셈은..