본문 바로가기

분류 전체보기204

[Kotlin] Sealed Class | 코틀린 실드 클래스 Sealed ClassSealed 클래스는 클래스 계층 구조를 정의하는 특별한 종류의 클래스다.sealed 클래스는 상속의 개념이 아니라 클래스의 종류를 제한하는 용도로 사용된다.sealed 클래스는 해당 클래스의 하위 클래스를 한정하는 데 사용되며, 이 하위 클래스들은 sealed 클래스의 내부나 동일한 파일 내에서 정의되어야 한다. 이렇게 하면 sealed 클래스의 하위 클래스가 완전하고 제한된 집합을 형성하게 되어, 해당 클래스 계층 구조를 제한하고 더욱 안정적으로 만든다. 제한된 하위 클래스: Sealed class는 제한된 수의 하위 클래스를 가질 수 있다.패턴 매칭: Sealed class는 패턴 매칭과 함께 사용되어 특정 유형의 인스턴스를 처리하는 코드를 보다 간결하게 작성할 수 있다. wh.. 2024. 5. 1.
[Kotlin] 백준 1032 명령 프롬프트 명령 프롬프트 시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다. dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다. 이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. .. 2024. 2. 11.
[TS] Enum | TypeScript 타입 스크립트 열거형 타입 이넘 여러가지 값에 각 이름을 부여하고 열거해서 사용하는 타입이다. 열거형 타입(Enum)은 자바스크립트에는 존재하지 않는 타입이다. enum Role { ADMAIN = 0, USER = 1, GUEST = 2, } const user = { name: "MinJ", role: Role.ADMIN } console.log(user) // { name: "MinJ", role: 0 } 유저의 권한과 같은 여러 멤버를 갖는 값을 공통화하여 표기할 때 enum을 사용하면 안전하고 직관적으로 관리할 수 있다. enum Role { ADMAIN, // 0 자동 할당 USER, // 1 자동 할당 GUEST, // 2 자동 할당 } enum Role { ADMAIN = 10, USER, // 11 자동 할당 GUEST.. 2023. 6. 26.
NHN FORWARD 22!! 키노트 NHN 서비스를 소개해주는 시간이었다. 그 중에서도 AI 소개가 가장 기억에 오래 남았는데, 저작권의 문제로 박근한 이사님을 AI가 카툰으로 그려준 것과 AI로 만든 박근한 이사님의 발표 영상이 인상 깊었다. AI TTS도 다루었는데, 동화책을 읽어주는 게 성우가 아닌 감정도 표현할 수 있는 AI 그리고 부모님의 목소리로 들려주는 동화 등 구현하고 있다는 점에서 감정까지 담은 AI라는 게 놀라웠다. 솔직히 유튜브에서도 흔히 들을 수 있는 AI TTS일텐데, 이렇게 누군가의 직업의 자리를 대체할 수 있다고 생각하니 유튜브와는 다르게 느껴졌다. 그리고 세션 시작, 끝날 때도 자연스러운 AI TTS를 접한 걸 보니 이미 성우의 자리를 대체한 지는 오래되었나보다. 그 외에는 이 뉴스 기사에서 확인할 수 .. 2023. 1. 8.
[Programmers/JAVA] 더 맵게 / 프로그래머스 코딩 테스트 연습 더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 예시 scov.. 2022. 6. 28.
[Programmers/JAVA] 기능개발 / 프로그래머스 코딩 테스트 연습 기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 예시 progresses speeds return [93, 30, 55] [1, 30, 5] [2, 1] [95, 90, 99, 99, 80, 99] [1.. 2022. 6. 28.
[Programmers/JAVA] 영어 끝말잇기 / 프로그래머스 코딩 테스트 연습 영어 끝말잇기 문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫.. 2022. 6. 27.
[Programmers/JAVA] 없는 숫자 더하기 / 프로그래머스 코딩 테스트 연습 없는 숫자 더하기 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 예시 numbers result [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 코드 해석 및 전체 코드 조건 - numbers 배열에 중복없이 0 ~ 9까지 임의의 숫자가 들어있다. - 배열에 없는 숫자 끼리의 합을 반환한다. 1. 반환값에 0 ~ 9까지 숫자를 더한다. (=45) 2. numbers 배열의 요소를 반환값에서 뺀다. 중복되는 수 없이 0 ~ 9 까지의 숫자가 배열에 들어가 있다.구해야 하는 수는 배열에 들어있지 않은.. 2022. 6. 27.
@Query로 update문 작성하기 | Spring Spring boot JPA 쿼리 어노테이션 Group 테이블과 User 테이블은 1:N 관계를 가지고 있습니다. 이미 생성되어있는 User 엔티티에 Group 엔티티의 정보를 업데이트하는 과정을 설명하고자 합니다. public interface UserRepository extends CrudRepository { @Modifying @Transactional @Query(value = "UPDATE user_tb u set u.group_id = :groupId where u.user_id = :userId", nativeQuery = true) void updateGroupId(long groupId, long userId); } @Modifying - SELECT가 아님을 명시하는 어노테이션입니다. - UPDATE, DELETE, INSER.. 2022. 4. 27.