본문 바로가기

알고리즘 #파이썬 #백준3

[백준 14467 소가 길을 건너간 이유1][파이썬] https://www.acmicpc.net/problem/14467 --잘못된 코드 !!! 잘못된 코드입니다 !!! -> range문을 통해 첫번째 인덱스부터 비교를 시작해서, 3,1-> 3,0으로 바뀌었을 때, 이 로직이 계산이 불가능함. -> 그래서 데이터의 인덱스와, position에 같은 값을 지정하여 푸는 알고리즘으로 다시 구현함 --정답 코드 데이터를 만들어주고, 임의의 수로 채운다 target으로 하는 소의 번호와, 소의 위치를 나누어서 input을 받아준다(x 보다는 _으로 써도 좋을 것 같다) -만약 들어온 데이터가 -1이라면(처음 들어온 데이터라면), 그 소의 데이터를 -1이 아닌 input의 위치로 바꾸어준다. -그렇지 않다면(이미 이전에 위치가 지정되었다면), -- 만약 그 소의 위.. 2022. 4. 16.
[백준 1543 문서 검색][파이썬] https://www.acmicpc.net/problem/1543 풀이 코드-------- 윗 부분 코드는 정답이 아닙니다 ------------------ -- 해설 먼저 첫 파트에서 for문에서 index를 하나씩 증가시키다 보니, goal이 data안에 일치하였을 때, goal의 길이만큼 i가 건너뛰게 하는 부분을 구현하지 못했다. 그래서 while문을 활용하여 같은 로직이지만, 이 부분을 해결할 수 있었다. #if문이 맞으면, count +=1 후에 문자열을 넘겨줘야됨 #if문이 틀리면, 그대로 for문을 유지 -- 배운점 for문에서 index 번호 컨트롤이 안되면, while 문에 변수 대소비교를 통해서, 변수를 통제할 수 있다! 2022. 4. 1.
[백준 4796 캠핑][파이썬] https://www.acmicpc.net/problem/4796 -정답 코드 l,p,v가 0일때 input 문을 끊어줘야하기 때문에 break문 작성 v(휴가 총 일수)를 p(연속 일)로 나눈 값의 나머지와, l(최대로 사용가능한 일 수) 중 min 값을 사용한 이유가 이 문제의 포인트 였던 것 같다. 1. v%p 가 더 클 때: 최대로 이용할 수 있는 일 수(l) 을 문제에서 지정했기 때문에 l보다 큰 값이 올 수 없음 -> l 채택 2.v%p가 더 작을 때: 휴가 일 수(v)를 초과하지 못하기 때문에 ->v&p 채택 !! 문제에서 원하는 출력 값이 특이한데, case 와 숫자 사이의 띄어쓰기도 고려할 것!! 2022. 3. 2.