코테

프로그래머스/Level: 0

프로그래머스 - Level: 0 - 겹치는 선분의 길이

= 내가 접근한 방법 = 되게 바보같이 생각했던 것 같다. 일단 4중 for문을 사용한다는 것부터... 이 문제는 쉬운 문제인데 내가 생각이 너무 많고 올바른 방향을 못 잡는게 너무 많다. lines는 일단 [0, 1],[2, 5], [3,9] 이렇게 주어지는 것을 기준으로 생각했다. 그냥 겹치는 것만 생각하면 되는데 0~1일 때, 2~5와 겹치는 부분 / 3~9와 겹치는 부분 이런 세세한 거 다 생각했다. 그리고 나온 경우의 수를 생각해서 풀었는데 완전 잘못된 방향이였다.. = 다른 사람의 풀이 = https://www.youtube.com/watch?v=aLYKp3OTh2Q&lc=UgwFhCq6s9tEk1dJ0QN4AaABAg.9jXGSjgpl4I9jXVQ-GKbB6 이 링크를 참고했으니까 매우 자세..

백준 오답노트/브루트포스

백준 - 브루트포스 1436번 영화감독 숌 / 문제를 이해 못 함.

이 문제를 해결하는 과정에서 오답을 낸 것이 아니라, 그냥 문제 자체를 이해하지 못했다. 첫번째는 666, 두번째는 1666 6번째는 5666인데 왜 7번째는 6660인가? 이 것을 해결하지 못했는데 되게 간단한 문제였다. 666이 무조건 포함이 되어야 한다. 따라서 5666 다음엔 6666이 오면 6660보다 더 큰 값이 오니까 말이 안 되는 거다. 7번째로 작은 값은 6660이 와야지 6666이 오면 나머지 6660, 6661, 6662 이 값들은 다 버려지기 때문이다. = 내 풀이 = 1부터 int의 최댓값까지 반복을 하면서 666이 포함되어있는 값들을 순서대로 list에 담았다. 그리고 list의 사이즈가 10000까지 저장이 되어야 내가 원하는 값을 쏙 뽑아서 쓸 수 있기 때문에 이러한 식을 이..

백준 오답노트/2차원배열

백준 - 2차원배열 2563번 색종이 / 구글링 후 오답

= 내가 접근한 방법 ( 틀림 ) = 1. input 받기 2. 겹치는 색종이가 있으면 그 색종이는 총 넓이에서 제외한다. ex) 3장의 색종이가 있으면 검은색을 차지하고 있는 최종 넓이는 100이다. 3. 겹친 색종이 구하기를 구하기 3-1. 먼저 x축이 겹치는 상태를 먼저 확인한다. 3-2. x축이 겹치는 색종이들만 따로 y축도 겹치는지 확인한다. 3-3. 그리고 최종 넓이에서 겹친 넓이를 빼준다. 이게 내가 한 방법이다. 코드로 한 번 보자. 1. 2차원배열에 x축과 y축을 다 저장했다. 2. 겹치는 색종이를 먼저 확인한다. 컬렉션 Set을 이용했다. Set을 이용했다. 내가 이차원 배열을 이용해서 x축 y축을 저장했기 때문에 String으로 변환시켜준 후, 총 넓이를 구했다. 3. 어떤 색종이들이..

백준 오답노트/브루트포스

백준 - 브루트포스 1018번 체스판 다시 칠하기 / 강의로 해결

= 내가 접근한 방법 ( 틀림 ) = 문제 의도 자체를 잘못 파악했다. 내가 이해한 내용은 8x8체스판에서 B와 W의 개수를 구한 후, 제일 최소로 각자 32개씩 나올 수 있는 방법을 찾았다. 그래서 틀렸다 이 문제는 8x8 배열에서 W,B가 교차하면서 완벽하게 체스판을 만들어야 할 때 필요한 W,B의 갯수지 8x8체스판에서 B와 W의 개수를 구한 후 , 완전하게 새로 칠한다는 문제가 아니였다. 이 방법을 엄청 고민하면서 풀었는데 틀렸고, 더이상 해결 방법을 찾지 못해 구글링을했다. = 다른 사람 풀이 = 정말 간단하게 풀 수 있었다. 0. 맨 처음 배열을 생성해서 1차원 배열로 BBBBBBBB, WWWWWWWW 이런식으로 row값에 맞게 저장한다. 1. 체스판을 자른다. 8x8의 모든 경우의 수를 생각..

프로그래머스/Level: 0

프로그래머스 - Level: 0 분수의 덧셈 문제 / 틀림 + 해결 완료

= 내가 푼 방법 ( 틀림 ) = 이렇게 복잡하게 풀어도 틀렸다. 내가 접근한 방법은 1. 두 분수를 비교해서 분모가 더 큰 곳을 찾는다. 1-1. 분모가 같을 경우 그냥 분자끼리 더하고 출력 2. 분모가 작은 쪽을 더 큰 분모에 맞춘다 ( 통분 ) 2-2. 만약 하나의 분모로 통분이 안 된다면 분모 각각 곱하는 식으로 통분 3. 그렇게해서 값을 출력 => 오답, 약분을 안 해준 것도 오답의 원인 중 하나 정확하게 어떤 부분에서 틀렸는지 모르겠다. 이러한 복잡한 방식으로 해결하면 안 될 것 같다. 모든 경우의 수를 다 생각해서 값을 구하는 거는 정답을 맞출 순 있어도 너무 비효율적이다. = 다른 풀이 = 1 / 2 값과 3 / 4 값을 그냥 더하면 어떻게 구할 수 있을까? denum1 = 1, num1 ..

백준 오답노트/브루트포스

백준 - 브루트포스 2231번 분해합 / 백준 질문글로 해결

문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 1 복사 216 예제 출력 1 복사 198 = 오답 코드 = 처음에 내 코드에 오..

초보병일이
'코테' 태그의 글 목록 (5 Page)