전체 글80 [프로그래머스] Java : 한 번만 등장한 문자 문제문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. 입출력 예sresult"abcabcadc""d""abdc""abcd""hello""eho" 이번 문제는 한번만 나온 알파벳에 초점을 맞춰서 코드를 짰습니다. 1. 형변환StringBuilder answer = new StringBuilder();char[] sChar = s.toCharArray(); StringBuilder를 사용한 이유는 append라는 함수를 사용해주기 위해서입니다.String 형태의 s를 charArray로 바꿔준 이유는 하나의 알파벳을 배열의 원소.. 2024. 3. 18. [프로그래머스] Java : 가까운 수 문제정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 입출력 예arraynresult[3, 10, 28]2028[10, 11, 12]1312 이번 문제는 좀 많이 헤맸습니다. 테스트 케이스가 추가되었는데, 추가된 케이스를 자꾸 성공하지 못했기 때문입니다..그래서 여러분들은 헤매지 마시라고 제가 해결한 방식을 공유하려 합니다! 1. 절댓값 적용 array[] 안에서 n이랑 가장 가까운 원소를 찾아주는게 이 문제의 핵심입니다.그래서 저는 array[i]와 n과의 차에 절댓값을 씌워주었습니다. 절댓값을 적용하는 방법은 여러가지가 있지만, 저는 Math함수를 썼습니다.a = -1;aAb.. 2024. 3. 17. [프로그래머스] Java : 중복된 문자 제거(linkedHashSet) 문제문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요. 입출력 예my_stringresult"people""peol""We are the world""We arthwold" 1. LinkedHashSet으로 순서 보장 & 중복 요소 제거2. 형변환 1. LinkedHashSet으로 순서 보장 & 중복 요소 제거 지난번에 파트에서 중복되는 숫자 제거를 위해 HashSet을 사용했었습니다.그래서 이번에도 HashSet을 사용하려 했는데, HashSet은 1. 중복된 값을 허용하지 않음 2. 순서 보장 안함의 특징을 갖고 있습니다. 그러나 이번 문제는 순서를 보장해주어야 .. 2024. 3. 15. [프로그래머스] Java : 소인수분해(HashSet) 문제소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 입출력 예nresult12[2, 3]17[17]420[2, 3, 5, 7] 이번 문제의 키포인트는 HashSet을 사용하는거 아닐까 싶습니다. 1. 2부터 n까지 계속 나눠보기2. 나눴을때 나머지가 없는 아이들 넣어주기3. 이미 존재하는 값이라면 넣지 말기(중복 제거) for(int i=2; i 주어진 n을 2부터 n까지 계속 나눠줘야하기에 for문 안에 while문을 넣었습니다.그렇게 주어.. 2024. 3. 14. [프로그래머스] Java : 구슬을 나누는 경우의 수 문제머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. 입출력 예ballsshareresult3235310 이번 문제도 기억해두고 싶어서 이렇게 작성해봅니다. 문제를 푸는 법은 우리가 많이 배웠던 확률과 통계에서 C(Combination)를 떠올리시면 됩니다. (ex. 5C2, 7C2) 이 형태의 식인거 다들 기억하시죠?이 식을 약분해보겠습니다. 그럼 이런 형태가 만들어집니다. (n-m)!을 약분한 상태입니다.이 구조를 코드로 구.. 2024. 3. 4. [프로그래머스] Java : 최빈값 구하기 문제최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 입출력 예arrayreturn[1, 2, 3, 3, 4]3[1, 1, 2, 2]-1[1]1 이번 문제는 푸는데 시간이 꽤 걸렸습니다. 최빈값이라는게 제가 눈으로 보기엔 잘 보여도 코드로 구현하려니 어렵더라고요. 중요한 포인트를 세가지로 잡았습니다.1. 정렬시키기2. 원소가 1개인 경우 구분해두기3. 중복 빈도수 구하고 저장시켜두기4. 최빈값이 존재하는 경우와 존재하지 않는 경우 구분해두기 1. 정렬시키기 다음 원소와 동일한지 구분하려면 정렬을 꼭 시켜야 합니다. 2. 원소가 1.. 2024. 2. 23. [프로그래머스] Java : 분수의 덧셈(최대공약수, 배열의 초기화) 문제첫번째 분수의 분자와 분모를 뜻하는 numer, denom1, 두번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return하도록 solution함수를 완성해보세요. 입출력 예1/2 + 3/4 = 5/4 return [5,4]9/2 + 1/3 = 29/6 return [29,6] 이번 문제는 세가지 포인트에 집중하면 쉽게 푸실 수 있습니다. 1. 결과값 분자, 분모 구하기2. 분자, 분모의 최대공약수 구하기3. 배열 초기화 해주기 1. 결과값 분자, 분모 구하기 1번 분수와 2번 분수를 더한 결과값의 분자와 분모를 먼저 구해주어야 합니다. 분자는 .. 2024. 2. 23. [Git] 로컬 파일 깃에 연동시키기 안녕하세요 이번에 깃헙에 제가 만든 프로젝트들을 부랴부랴 올려야했는데요..내 컴퓨터에 있는 파일들을 깃 레포지토리에 연동시키는 방법이 자꾸 헷갈리더라고요그래서 적어두고 기억해두려합니다! 1. 깃헙에 연결하고싶은 레포지토리를 생성합니다 tip) 이때 README파일을 같이 만들어주고, repository가 생기면 README 파일을 지워줍니다 README 파일을 지운 이유는 어디서 봤는데README 파일을 생성하면 최초 커밋 시 파일 기록이 달라서 오류가 발생할 수도 있기 때문이라네요..이왕 연결할거 오류 발생 가능성이 0에 수렴하도록 지워주겠습니다..! 2. 생성된 레포지토리 코드를 복사해둡니다https://github.com/eonwy/forTest.git 3. 터미널에 들어가서 레포지토리와 연.. 2024. 2. 2. 이전 1 ··· 7 8 9 10 다음