본문 바로가기

문제풀이64

카카오 기출 무지의 먹방 라이브 효율성은 둘째치고 왜 답이 안맞지.. import java.io.*; import java.util.*; class FoodPlate implements Comparable{ int index; int time; FoodPlate(int index, int time){ this.index=index; this.time=time; } public int getTime() { return time; } public int getIndex(){ return index; } @Override public int compareTo(FoodPlate foodPlate) { int time = foodPlate.getTime(); if(this.time>time) return 1; else if(this.time==.. 2020. 9. 9.
백준 1439 뒤집기 접근 방법은 다음과 같습니다. 예를들어 0100110101 이라면 1과 0이 뭉쳐있는 부분을 뒤집어야 숫자를 최소한으로 동일하게 만들수 있습니다. 경우에수는 0과 1만 있기 때문에 반복문으로 0과 1이 차지하고 있는 부분을 탐색합니다. 여기서 탐색 방법은 찾고자 하는 target수(변수 i)를 만나면 넘어갑니다. 그러다가 숫자가 변하는 부분이 있으면 그부분은 target수와 반대되는 숫자이며 target수의 영역이 끝나는 부분을 의미합니다. 0과 1모두 같은 방식으로 탐색을 하다가 경계라는 것이 string의 끝도 있기 때문에 각 target수가 끝인지 아닌지 여부까지 탐색을 해주면 영역의 개수를 구할 수 있고 더 작은 영역의 개수를 출력해주면 문제가 풀립니다. 근데 다른분들 풀이보니까 나만 너무 무식하.. 2020. 9. 8.
프로그래머스 target number DFS 프로그래머스의 DFS/BFS의 최하 문제인 target Number 문제이다. 사실 어려운 문제는 아니었으나 처음엔 이게 왜 DFS인지 이해를 못했다.. 그러던 와중에 그래프를 그려봤더니 왜 인지 알아냈다. 첫 합계를 0으로 시작하여 각 숫자별로 +와 -로 나눠 트리를 그려보면 이진트리가 나타난다. 이 경우에는 트리의 끝 점까지 가야해서 DFS로 풀어야한다. 대략 위와 같은 이미지인데 대충..알아 보면 될것 같다.. 저런식으로 가장 끝 노드까지 탐색을 해야하기 때문에 DFS로 구현해야 한다. 막상 코드를 보면 굉장히 간단하다. 재귀 함수를 이용하여 구현하면 된다. #include #include #include #include using namespace std; int answer = 0; vo.. 2020. 7. 14.
프로그래머스 네트워크 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[.. 2020. 7. 14.