본문 바로가기

알고리즘

(7)
알고리즘 - 배열의 평균값, 짝수와 홀수 1. 평균값 즉 나누기를 해야하기 때문에 Int가 아닌 Double을 사용하여 소숫점 자리가 나오게 구해야한다. 2. 배열을 사용하기에 Array라는 함수가 들어간다. class Solution { fun solution(numbers: IntArray): Double { var answer: Double = 0 return answer } } 초기 코드이다. 숫자의 합을 구하고 배열의 갯수 즉 크기로 나누어야 한다. var answer를 써도 될거 같은데 근데 우선 소수를 나타내어야 하니 0대신 0.0으로 표시해 주자. var answer : Double = 0.0 여기서 이제 numbers의 정수들을 더해야 하니 numbers 안의 무작위 숫자를 i로 생각하고 numbers들을 다 더해야하는데 이건 ..
프로그래머스 - 짝수의 합 초기 코드 class Solution { fun solution(n: Int): Int { var answer: Int = 0 return answer } } 짝수를 모두 더한 값을 나타 내야한다. 즉 반복해서 더해야한다. 반복문 for 을 사용하자 class Solution { fun solution(n: Int): Int { var answer: Int = 0 for(i in 1..n) return answer } } 우선 반복한다는 것을 끼워주고 class Solution { fun solution(n: Int): Int { var answer: Int = 0 for(i in 1..n){ if( i % 2 == 0) } return answer } } error: expecting an expres..
알고리즘 문제풀이 - 각도기 8. 프로그래머스 각도기 class Solution { fun solution(angle: Int): Int { var answer: Int = 0 return answer } } 초기 코드이다. 예각일 때, 직각일 때, 둔각일 때, 평각일 때 를 각각 구해야한다. if와 else if 몇개를 쓰면 나올 거 같다. 근데 ~일 때이니 when이라는 조건도 사용가능 할거 같다. When 활용하기 when (각도) { 0 2 90 4} 이렇게 집어 넣어보자. 근데 0 answer = 2 in 91..179 -> answer = 3 180 -> answer = 4} return answer } } 들어보니 굳이 return answer랑 3번째 줄이 필요치 않은거 같기도 하다. 자꾸 answer를 강조 하시는걸..
알고리즘 문제풀이 1~7 1. 프로그래머스 두 수의 차 코틀린 class Solution { fun solution(num1: Int, num2: Int): Int { var answer: Int = 0 return answer } } 처음으로 써보는 기능이지만 티스토리 블로그에도 코드블럭이라는게 있어서 사용해보았다. 우선 두 수의 차 초기 코드이다. n1이 2이고 n2가 3일때 -1을 return , n1이 100, n2가 2일때 98을 return 한다. 간단한 사칙 연산이다. 함수(fun)에 num1,2 모두 Int(정수)를 초기 코드에서 값이 변하는 변수 var이 이미 선언되어 있는데, 여기서 Int = 0을 Int = num1-num2 로 바꿔서 리턴하면 된다. class Solution { fun solution(nu..
프로그래머스 - 이상한 문자 만들기 코딩테스트 연습 - 이상한 문자 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 공백문자도 있고 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 만들어야한다. 우선 초기코드 class Solution { fun solution(s: String): String { var answer = "" return answer } } split을 사용하면 단어를 단위단위로 끊어줄 수 있다고 한다. 근데 다시 이걸 합쳐야 하니 합칠때 쓰는 단어는 joinToString 이라는 걸 사용..
프로그래머스 3진법 뒤집기 코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 코드 class Solution { fun solution(n: Int): Int { var answer: Int = 0 return answer } } 우선 진법이란, 위치값 기수법이라는 수의 표현법이다. 예를들어 우리가 보통 사용하는 10진법은 0~9까지 표현하고 9를 초과하는 정수가 나오면 10으로 자리를 하나 올려서 표현한다. 10진법으로 예시를 들어보자. 1234는 1000+200+30+4로 볼 수 있고 ..
프로그래머스-최대공약수와 최소공배수 https://programmers.co.kr/learn/courses/30/lessons/12940?language=kotlin 초기코드 class Solution { fun solution(n: Int, m: Int): IntArray { var answer = intArrayOf() return answer } } 우선 최대공약수는 gcd 로 Greatest Common Divisor, 최소공배수는 lcm 으로 Least Common Multiple 의 각각의 약자이다. n과 m의 최소공배수는 (n*m)/최대공약수 -> lcm = (n*m)/gcd 이다. 따라서 {gcd,(n*m)/gcd}이다. 그러므로 최대공약수만 구하면 최소공배수도 구할 수 있다. 내가 작성한 코드 class Solution {..