전체 글(361)
-
[프로그래머스/Kotlin]Lv1 - 명예의 전당(1)
Lv1 - 명예의 전당(1) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제문제 설명 "명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출..
2024.07.11 -
[LeetCode/Kotlin]344. Reverse String
344. Reverse String (Kotlin) 문제Write a function that reverses a string. The input string is given as an array of characters s.You must do this by modifying the input array in-place with O(1) extra memory.Example 1:Input: s = ["h","e","l","l","o"]Output: ["o","l","l","e","h"]Example 2:Input: s = ["H","a","n","n","a","h"]Output: ["h","a","n","n","a","H"]Constraints:1 s[i] is a printable ascii char..
2024.07.08 -
[JAVA] StringBuilder와 StringBuffer의 차이점
알고리즘 문제를 풀다가 String으로는 시간이 너무 오래 걸려, StringBuilder와 StringBuffer를 골라 사용해야 하는 경우가 있었다.문득 그 두 클래스의 차이가 궁금해졌다. StringBuilder와 StringBuffer는 둘 다 문자열을 변경 가능하게 다룰 수 있는 Java 클래스이다.이 둘의 기본적인 용도와 동작은 유사하지만 다음과 같은 몇 가지 차이가 있다. 동기화(Synchronization)StringBuilder동기화되지 않음 (Non-synchronized).따라서, 멀티스레드 환경에서 안전하지 않을 수 있지만, 단일 스레드 환경에서 StringBuffer보다 더 빠름.StringBuffer동기화됨 (Synchronized)멀티스레드 환경에서 여러 스레드가 안전하게 사..
2024.07.05 -
[프로그래머스/Kotlin]Lv2 - 점 찍기
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명좌표평면을 좋아하는 진수는 x축과 y축이 직교하는 2차원 좌표평면에 점을 찍으면서 놀고 있습니다. 진수는 두 양의 정수 k, d가 주어질 때 다음과 같이 점을 찍으려 합니다.원점(0, 0)으로부터 x축 방향으로 a*k(a = 0, 1, 2, 3 ...), y축 방향으로 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 위치에 점을 찍습니다.원점과 거리가 d를 넘는 위치에는 점을 찍지 않습니다.예를 들어, k가 2, d가 4인 경우에는 (0, 0), (0, 2), (0, 4), (2, 0), (2, 2)..
2024.07.04 -
[Android/Error] Constant expression required
갑자기 Switch ~ Case 문에서 ‘Constant expression required’ 오류가 발생하였다. 기본적으로 Android Gradle 플러그인 8.0.0부터 최적화된 빌드 속도를 위해 리소스(예 : 상수 표현식) R.id. ...가 더 이상 선언되지 않기에 발생한 오류였다.switch (R.id.btn) { case 입력값1: ... break; case 입력값2: ... break; ... default: ... break;}위와 같이 코드를 작성하면 해당 오류가 발생하는 것이다.해결 방법은 아래와 같다. 방법1. Switch ~ Case 문을 if 문으로 변경한다. 해당 소스코드 switch 위에 커서를 올린 뒤, al..
2024.07.03 -
[Git] Git에서 rebase vs merge 차이 알아보기
개요나는 그동안 develop이나 master 브랜치로 작업 내용을 합칠 때, merge를 사용했다.Pull Request에 올리면 자연스럽게 master 브랜치로 merge가 되기도 한다.그런데 오늘. Git 히스토리가 너무 꼬여 정리를 하고 있었고,협업에서 같이 일하는 선배는 rebase를 사용하길래 문득 그 차이가 궁금해졌다. * git rebase와 git merge는 두 가지 모두 Git에서 브랜치를 통합하는 데 사용되는 명령어이다.git merge목적 두 브랜치를 하나의 공통 커밋 히스토리로 병합.작동 방식병합 시, 새로운 커밋(merge commit)이 생성됨두 브랜치의 히스토리를 합치는 역할을 하며, 히스토리가 그대로 보존장점기존의 모든 커밋 히스토리를 보존하므로, 브랜치의 개발 과정을 명..
2024.07.02