본문 바로가기

java34

프로그래머스 Lv.0 연속된 수의 합 프로그래머스 Lv.0 연속된 수의 합 연속된 num개의 정수를 더해 total이 되는 경우에 정수 배열을 오름차순으로 담아 return하라. ** 풀이 방법 연속된 수의 중간값을 가지고 풀이하였다. total을 num으로 나눴을 때 중간값이 구해진다. 이 중간값의 인덱스 위치를 구해서연속되는 숫자의 시작점을 찾는다.(인덱스 : 홀수일 때는 배열의 중앙에 위치, 짝수는 배열 길이의 중간-1에 위치) 예) num이 홀수일 때 num=3 total=12 result=[3,4,5] middle = total/num = 4 num=홀수 >> 중간값인 4의 인덱스는 num/2=1번 인덱스 answer 배열에 들어가야 할 첫 숫자는 중간값 - 홀수짝수판별해 나온 중간값의 인덱스로 구해진다. 그래서 결과는!! [3,4.. 2023. 7. 24.
프로그래머스 Lv.0 등수매기기 프로그래머스 Lv.0 등수매기기 영어 점수와 수학 점수의 평균 점수를 기준으로 등수를 매긴다. 영어 점수와 수학 점수를 담은 2차원 배열 score가 주어지고, 평균을 기준으로 등수를 담은 배열을 return하라. score는 중복된 원소를 갖지 않는다. ** 풀이 방법 Double형 ArrayList를 생성한다. List list = new ArrayList(); 등수를 리턴할 answer배열을 모두 score.length로 채운다. Arrays.fill(answer, score.length); score를 조회해서 두 점수의 평균을 ArrayList에 저장한다. for (int i=0; i 2023. 7. 23.
프로그래머스 Lv.0 안전지대 프로그래머스 Lv.0 안전지대 지뢰가 2차원 배열 board에 1로 표시되고, board에는 지뢰가 매설 된 지역 1과 지뢰가 없는 0만 존재한다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하라. board는 n*n 배열이다. 지뢰는 1로 표시되고, 지뢰가 없는 지역은 0으로 표시된다. ** 결론부터 말하자면 테스트에 통과하지 못했다. 다른 분의 풀이 방법을 보고 따라해 본 것을 정리하려고 한다. 처음엔 지뢰가 있는 인덱스의 왼쪽위 대각선부터 오른쪽아래 대각선까지 반복문을 돌려서 카운트하고 전체 배열의 수에서 빼는 식으로 코드를 구현했는데 지뢰가 여러개 있을 때와 지뢰가 연달아 있지 않고 여러 지역에 분포되어 있는 것을 고려하면 지뢰가 있는 각 인덱.. 2023. 7. 23.
프로그래머스 Lv.0 가까운 수 프로그래머스 Lv.0 가까운 수 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return하라. 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 한다. ** 풀이 방법 array배열을 오름차순 정렬했다. Arrays.sort(array); ArrayList를 생성해서 array배열 원소와 정수 n을 뺀 절대값을 저장한다. List a = new ArrayList(); for (int i=0; i 2023. 7. 20.
반응형