TIL
[Java] 프로그래머스 : 가운데 글자 가져오기
https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 풀이 substring 함수로 문자열을 나눠주었다. 인자로들어가는 시작위치와 끝위치를 주는게 조금 헷갈렸다. String.substring(start,end)는 start 위치부터 end "전" 까지 문자열을 자른다. class Solution { public String solution(String s) { return ..
[Java] 프로그래머스 : 문자열 다루기 기본
https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr 풀이 문자열을 charAt을 통해 숫자 0~9에 포함되는지 아닌지 판단한다. class Solution { public boolean solution(String s) { // 문자열 길이가 4,6 인지 확인 if(!(s.length()==4||s.length()==6)) return false; // 문자..
[Java] 프로그래머스 : 두 개 뽑아서 더하기
https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 중첩 for문으로 두 개의 수를 더한 수를 list에 add하고 list를 정렬한다. list에 add할 때 이미 같은 값이 있다면 넣지 않는다. 이미 같은 값이 있는지 확인하기 위해 contains() 함수를 사용한다. contains() 함수는 대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수이다..
[Java] 프로그래머스 : 자연수 뒤집어 배열로 만들기
https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 풀이 10으로 나눈 나머지를 배열에 넣고 몫이 0이 될 때까지 반복한다. import java.util.ArrayList; class Solution { public int[] solution(long n) { ArrayList list = new ArrayList(); while(n!=..
[Java] 프로그래머스 : 제일 작은 수 제거하기
https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 풀이 배열을 차례대로 비교해서 작은 수(tmp)의 위치를 position에 저장해둔다. 배열끝까지 반복문이 끝나고나면 해당 위치의 원소를 삭제한다...는 삭제할수 없으니까 해당 위치의 원소가 아닌 배열들만 list에 add한다. list 크기가 0 이면 배열에 -1을 넣어 리턴한다. import java.util...
[Java] 프로그래머스 : 같은 숫자는 싫어
https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 풀이 뒤에 연속적으로 같은 숫자가 나타나면 제거해야하니까 배열원소와 그 뒤의 원소를 비교해 다른 경우에만 list에 넣어주었다. 첫번째 원소은 list에 넣어두고 두번째 원소부터 그 앞의 원소와 비교하도록 했다. import java.util.*; public class Solution { public int[] solution(int..
[JAVA] 프로그래머스 : 나누어 떨어지는 숫자 배열
https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 풀이 ArrayList 를 정렬하는데는 Collections.sort() 메소드를 사용했다. sort() 메소드의 인자로 정렬할 리스트를 넘겨준다. import java.util.ArrayList; import java.util.Collections; class Solution { public ..
[React] Effects (useEffect, clean-up)
Intro useEffect Clean-up 예를 들어, 우리가 검색 api를 사용하려고 할 때 맨 처음 api를 호출해 데이터를 받아온다. 하지만 이후에 버튼을 클릭하든.. 어떤다 state가 변경될때마다 다시 그 api를 또 호출한다면? 매우 비효율적이다. 그래서 우리는 가끔은 특정 코드들이 처음 한번만. 즉 첫번째 컴포넌트의 render에만 실행되도록 하고 나중에 state가 변하더라도 그 코드들을 다시 실행되지 않도록 하고 싶다. useEffect function React에게 컴포넌트가 렌더링 이후에 어떤 일을 수행할지를 알려주는데, 아래의 예시처럼 특정 코드들을 특정한 때에만 실행되도록 하고 싶을때 사용할 수 있다. useEffect 함수는 두 개의 인자(argument)를 가지고 있다. us..