본문 바로가기

프로그래밍/알고리즘4

[java] 백준 1012번 : 유기농 배추 (bfs, dfs) www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제를 읽어보면 배추가 심어져 있는 덩어리가 총 몇 개냐를 구하는 문제이다. 계속 bfs로 문제를 풀다보니 bfs로 해결하기는 했는데, 대부분 dfs로 문제를 푸는 것 같았다. 결국 덩어리가 몇 개냐를 구하는 문제이다 보니 bfs while문으로 복잡하게 돌리는 것보다 dfs 재귀함수로 간단하게 푸는 것이 코드도 깔끔하고 간편할 것이란 생각이 들었다. bfs로 풀었던 내 풀이와, 참고했던 dfs 풀이를 둘 다 기록하겠다. .. 2021. 2. 19.
[codility] OddOccurrencesInArray 문제풀기 코딩연습2 Array에서 중복되지 않는 value 값을 구하는 문제이다. 처음엔 HashMap을 사용해서 이미 key 값을 가지고 있는 경우 value +1 해주고 value 가 1인 entry의 key를 리턴하는 방식으로 풀이했다. 결과는 정확도 66%..ㅠㅠ 흑.. Task Description A non-empty array A consisting of N integers is given. The array contains an odd number of elements, and each element of the array can be paired with another element that has the same value, except for one element that is left unp.. 2019. 9. 4.
[codility] Binary Gap 구하기 코딜리티에서 첫 코딩 연습을 했다. 백준알고리즘이나 이것저것 찾아봤는데 문제를 보면서 코드를 작성하고, 컴파일링 할 수 있는 곳은 코딜리티가 제일 좋은 것 같았다. 이번 문제는 2진법으로 바꾼 수에서 1과 1사이 0의 개수를 구하는 문제이다. Task Description A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. For example, number 9 has binary representation 1001 and contains a binary gap of le.. 2019. 9. 3.
[카카오 데모테스트] 직사각형의 좌표 구하기 2020년 카카오 코딩테스트를 준비할 겸, 프로그래머스에 있던 데모 테스트를 풀어보았다. 검색해보면 똑같은 문제를 풀이해놓은 블로그가 많은 것을 봐서, 매년 똑같이 제공하는 연습문제인 것 같다. 해설을 보면 금방 풀 수 있겠지만 그래도 스스로 풀어보기로 결정. 12시부터 대략 3시간 쯤 걸렸다ㅎㅎ 쉬운 문제인 것 같은데 처음 풀어보는 코딩테스트에 당황했음 코딩테스트를 많이 연습해봐야겠다고 느꼈다. 처음엔 각 변이 평행하다는 것을 보지 못해 직사각형 변을 구하는 공식까지 찾아가며 헤매었다. (문제를 꼼꼼히 읽도록 하자!!) 그렇게 계속 헤매다가 결국 각각의 배열에 x좌표와 y좌표가 중복되지 않는 값이 구하는 좌표 값이라는 규칙을 발견함! 아래는 문제와 내가 풀이한 코드이다. 찾아보니 xor로 푸는 방법도 .. 2019. 8. 26.