삼성 A형 19년 8월에 나왔던 문제 중 하나이다. 다른 한 문제는 백준 안전영역이다.
ArrayList와 HashSet이 너무 사랑스럽다~~ HashSet의 add()메소드가 실패했을 때 리턴 값으로 false를 뱉어내는 것을 사용해서 풀었다. 시간이 있다면 더 효율적으로 짜보는 걸로~
System.out.println으로 매번 출력해주는 것보다 StringBuilder에 append로 저장해 놓고 한번에 출력하는 것이 조금 더 빠르다.
C++로 막 풀었던 소스코드: 처음에 을 고려하지 않아 애를 먹었다.
Flatten처럼 매번 값을 변경해주면, 시간초과가 발생한다. 계산을 간단하게 하는 방법을 고려해야한다.
처음 문제를 풀 땐, StringBuilder로 계속 값을 변경해주었는데 다시 풀어보니 그럴 필요가 없다는 걸 알게 되었다.
DFS 부분에서 범위 설정을 제대로 해주자~ sum > height라고 설정해서 테스트 케이스 하나가 맞지 않았다. 동일할 경우도 고려해야한다
배열로 구현하기
메모리: 18,548 kb / 실행시간: 117 ms 메모리: 18,288 kb / 실행시간: 116 ms String의 substring 메소드를 활용해도 좋을 거 같다.
요즘 머리가 굳은 거 같아서 새로운 마음으로 토마토를 다시 풀어보았다. 요즘 제일 좋아하는 것은 BufferedReader와 StringTokenizer이다. 단순하게 큐를 돌면서 이전값 + 1로 익는 날짜를 더해주었고, 큐가 끝난 뒤에도 0인 값이 존재하면, 0-1, 즉 -1을 출력해주고 모든 토마토가 익어있는 상태라면 1-1 즉, 0을 출력 아니라면 익...
0부터 9까지를 담을 수 있는 배열을 담아서, 최초로 담길 때 cnt를 1씩 더해줬다.
StringBuilder를 사용해서 i부터 i+1까지 지워버렸다.
자유로운 창작이 가능한 기본 포스트
소장본, 굿즈 등 실물 상품을 판매하는 스토어
정기 후원을 시작하시겠습니까?
설정한 기간의 데이터를 파일로 다운로드합니다. 보고서 파일 생성에는 최대 3분이 소요됩니다.
포인트 자동 충전을 해지합니다. 해지하지 않고도 ‘자동 충전 설정 변경하기' 버튼을 눌러 포인트 자동 충전 설정을 변경할 수 있어요. 설정을 변경하고 편리한 자동 충전을 계속 이용해보세요.
중복으로 선택할 수 있어요.