본문 바로가기

전체 글

(164)
[Programmers] FloodFill 문제 설명 n x m 크기 도화지에 그려진 그림의 색깔이 2차원 리스트로 주어집니다. 같은 색깔은 같은 숫자로 나타난다고 할 때, 그림에 있는 영역은 총 몇 개인지 알아내려 합니다. 영역이란 상하좌우로 연결된 같은 색상의 공간을 말합니다. 예를 들어, [[1,2,3], [3,2,1]] 같은 리스트는 다음과 같이 표현할 수 있습니다. 이때, 이 그림에는 총 5개 영역이 있습니다. 도화지의 크기 n과 m, 도화지에 칠한 색깔 image가 주어질 때, 그림에서 영역이 몇 개 있는지 리턴하는 solution 함수를 작성해주세요. 제한 사항 n과 m은 1 이상 250 이하인 정수입니다. 그림의 색깔은 1 이상 30000 미만인 정수로만 주어집니다. 생각 bfs로 풀수도 있지만 dfs 푸는것을 연습해보자 아래와 같..
[Programmers] 배상비용최소화 문제 설명 OO 조선소에서는 태풍으로 인한 작업지연으로 수주한 선박들을 기한 내에 완성하지 못할 것이 예상됩니다. 기한 내에 완성하지 못하면 손해 배상을 해야 하므로 남은 일의 작업량을 숫자로 매기고 배상비용을 최소화하는 방법을 찾으려고 합니다. 배상 비용은 각 선박의 완성까지 남은 일의 작업량을 제곱하여 모두 더한 값이 됩니다. 조선소에서는 1시간 동안 남은 일 중 하나를 골라 작업량 1만큼 처리할 수 있습니다. 조선소에서 작업할 수 있는 N 시간과 각 일에 대한 작업량이 담긴 배열(works)이 있을 때 배상 비용을 최소화한 결과를 반환하는 함수를 만들어 주세요. 예를 들어, N=4일 때, 선박별로 남은 일의 작업량이 works = [4, 3, 3]이라면 배상 비용을 최소화하기 위해 일을 한 결과는 ..
[Programmers] 후위표현 수식 생각 손으로 스택을 직접 그려보면서 중위표현식이 어떻게 후위표현식으로 바뀌는지 생각하면 된다. 닫는 괄호 연산자 마무리 작업(pop연산)을 잊지 말자 설계 알파벳이면 그냥 출력 '(' 이면 스택에 push ')' 이면 '('이 나올때까지 스택에서 pop 출력하고 pop한 원소를 결과값에 추가한다. 이 과정이 끝나고나서 한번 더 pop을 해줘야 ')'를 제거해주자 연산자가 나올때, 스택의 peek연산을 통해 연산자들끼리의 우선순위를 비교해준다. 그 다음 peek연산 결과값이 현재 연산자의 우선순위보다 크거나 같으면 스택에서 pop하고 결과값에 추가한다. (스택에 원소가 없거나 연산자 우선순위가 낮은것이 나올때까지 진행해야하는 조건을 통해 진행한다) 이 과정을 통해 연산자를 빼주고 반복문이 종료되면 현재 연..
블로그 이사왔습니다 원래 Velog에서 공부내용을 정리했는데 티스토리로 이사왔습니다!! Velog에서는 뭔가 미묘하게 가독성이 떨어진다고 생각이 들었습니다ㅜㅜ 테이블 사용이나, 폰트같은것들이 커스텀마이징 되지 않는게 불편하더라구요 무엇보다도 원래 받던 교육을 중도 포기하고 현재 새로운 교육을 이수하고 있어서 새롭게 블로그를 정리할 계획입니다 나 자신 화이팅~~