본문 바로가기

Algorithm39

프로그래머스 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차원 배열 board에 1로 표시되고, board에는 지뢰가 매설 된 지역 1과 지뢰가 없는 0만 존재한다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하라. board는 n*n 배열이다. 지뢰는 1로 표시되고, 지뢰가 없는 지역은 0으로 표시된다. ** 결론부터 말하자면 테스트에 통과하지 못했다. 다른 분의 풀이 방법을 보고 따라해 본 것을 정리하려고 한다. 처음엔 지뢰가 있는 인덱스의 왼쪽위 대각선부터 오른쪽아래 대각선까지 반복문을 돌려서 카운트하고 전체 배열의 수에서 빼는 식으로 코드를 구현했는데 지뢰가 여러개 있을 때와 지뢰가 연달아 있지 않고 여러 지역에 분포되어 있는 것을 고려하면 지뢰가 있는 각 인덱.. 2023. 7. 23.
프로그래머스 Lv.0 다음에 올 숫자 프로그래머스 Lv.0 다음에 올 숫자 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return하라. common의 원소는 모두 정수이고, 등차수열 혹은 등비수열이 아닌 경우는 없다. ** 풀이 방법 common 배열이 등차수열인지 등비수열인지 검증할 ArrayList를 생성했다. 먼저 연속된 두 원소의 차를 ArrayList에 저장한다. List cha = new ArrayList(); for (int i=0; i 2023. 7. 19.
프로그래머스 Lv.0 리스트 자르기 프로그래머스 Lv.0 리스트 자르기 정수 n과 정수 3개가 담긴 리스트 slicer, 정수 여러 개가 담긴 리스트 num_list가 주어진다. slicer에 담긴 정수를 차례대로 a,b,c라고 할 때 n에 따라 num_list를 다음과 같이 슬라이싱 하려고 한다. n=1 : num_list의 0번 인덱스부터 b번 인덱스까지 n=2 : num_list의 a번 인덱스부터 마지막 인덱스까지 n=3 : num_list의 a번 인덱스부터 b번 인덱스까지 n=4 : num_list의 a번 인덱스부터 b번 인덱스까지 c간격으로 올바르게 슬라이싱한 리스트를 return하라. ** 풀이방법 ArrayList를 만들어서 n의 조건에 맞게 코드를 짰다. (for문 범위 설정에 주의할 것!) List list = new Ar.. 2023. 7. 17.
반응형