전체 글 211

[Kotlin] Programmers Lv.1 없는 숫자 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(numbers: IntArray): Int = (0..9).filterNot { numbers.contains(it) }.sum() } 로직은 사실 간단하다. 포함 안된 숫자를 찾아서 더하기만 하면 된다. 처음에 작성했던 코드는 이것보다 복잡했다. 정확히는 위 코드를 풀어서 적어뒀었다. fun solution(numbers: IntAr..

Programmers/Lv. 1 2023.08.29

[Kotlin] Programmers Lv.1 핸드폰 번호 가리기

https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(phone_number: String): String { var answer = "" repeat(phone_number.length - 4){ answer += "*" } answer += phone_number.slice(phone_number.length - 4 until phone_number.length) return answ..

Programmers/Lv. 1 2023.08.27

[Kotlin] Programmers Lv.1 나누어 떨어지는 숫자 배열

https://school.programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(arr: IntArray, divisor: Int): IntArray { var answer = arr.filter { it % divisor == 0 }.sorted().toIntArray() if (answer.isEmpty()) answer += -1 return answer } } 리스트에서 divisor로 나눴을때, 나눠 떨어..

Programmers/Lv. 1 2023.08.26

[Kotlin] Programmers Lv.1 서울에서 김서방 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(seoul: Array): String = "김서방은 ${seoul.indexOfFirst { it == "Kim" }}에 있다" } 조건상 반드시 배열 안에 있다고 했기 때문에 처음 발견되는 "Kim"의 index를 리턴시켜줬다.

Programmers/Lv. 1 2023.08.25

[Kotlin] Programmers Lv.1 콜라츠 추측

https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(num: Int): Int { var number: Long = num.toLong() var answer = 0 while (answer < 500){ if (number == 1L) return answer if (number % 2 == 0L) number /= 2 else number = number * 3 + 1 answer+..

Programmers/Lv. 1 2023.08.21

제10회 소프트웨어 개발보안 시큐어코딩 해커톤 - 최우수상

작년에 내 친구가 소개딩에 나가서 최우수상을 받아왔었다. 그때는 난 어떤 분야로 개발할지 조차 안정한 상태여서 참석을 못했었다. 그러다 안드로이드로 분야도 정한김에 나가기로 맘을 먹고 팀원을 모집했다. 나랑 친한애들은 나랑 분야가 달라서 따로 팀을 만들고, 내 주변 사람들로 다른 팀을 모집해서 지원했다. 이런 저런 일들이 있었고, 어찌어찌 신청서를 제출했다. 8월 7일 예선 발표가 나왔다. 사실 난 우리팀이 떨어질 줄 알았다. 아이디어는 좋았지만, 신청서를 작성하는데 미흡하다고 생각을 해서 불합격일거라 생각하면서 결과를 확인하러 갔다. 어라? 붙었네....? 우리팀 이름이 "어라금지"였다. 하지만 붙자마자 바로 어라?? 어라??? 정말 놀랬다. 그래서 저때부터 무한개발 시작했다. 어찌어찌 개발 다 하고 ..

[Kotlin] Programmers Lv. 1 두 정수 사이의 합

https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code import kotlin.math.max import kotlin.math.min class Solution { fun solution(a: Int, b: Int): Long = (min(a,b)..max(a,b)).sumOf { it.toLong() } } 이 문제의 함정아닌 함정은 a와 b의 대소관계가 정해져있지 않다는 것이다. 그것도 모르고 (a..b)로 하고는 왜 안되는지 한참 고..

Programmers/Lv. 1 2023.08.19

[Kotlin] Programmers Lv. 1 하사드 수

https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(x: Int): Boolean = (x % (x.toString().sumOf { it.digitToInt() })) == 0 } 이것도 생각보다 간단했다. x의 자릿수만큼 계산하는 것이 아닌, 그냥 String으로 만들고 int로 합을 구한다. 그렇게해서 x를 나눠보고 나눠떨어지면 true, 아니면 false다.

Programmers/Lv. 1 2023.08.18

[Kotlin] Programmers Lv.1 정수 내림차순으로 배치하기

https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(n: Long): Long = n.toString().toList().sortedDescending().joinToString("").toLong() } 귀찮아서 함수로 해결했다. long을 string으로 만들고, 정렬한 후 String으로 합쳐준 후 다시 Long으로 만들어 줬다.

Programmers/Lv. 1 2023.08.17

[Kotlin] Programmers Lv. 1 정수 제곱근 판별

https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code import kotlin.math.sqrt class Solution { fun solution(n: Long): Long { var temp = sqrt(n.toDouble()).toLong() return if (temp * temp == n) (temp+1) * (temp+1) else -1 } } 정수 n이 주어졌을 때, 해당 숫자가 특정 숫자의 제곱인지 확인하는 문제다. 가장 쉬..

Programmers/Lv. 1 2023.08.16