yuntake94   2년 전

반례찾는 방법이 그냥 저는.. 아 혹시 이건가? 하면서 생각하고 쳐보고 아니면 걍 쳐보고 그러는데 

그렇게 다들찾으시는건가요? 아니면 반례를 찾는 소스를 짜서 프로그램을 쫘악 돌려보시나요?

한 50% 차다가 틀렸는데 혹시 반례가 보이신다면 알려주시면 ..크흠..

yuntake94   2년 전

코드설명을 해드리자면

음. 양수일때는 곱보다 합이 더크면 하나만 더하고 i번쨰는 그냥 내립니다.

그리고 음수일때는 다시 sort를 정렬하여서 음수쪽만 검사하는 프로그램을 짜보았습니다.

다른방법으로 푸신분은 혹시 어떤방법으로 푸셨는지 공유해주시면 감사하겠습니다.

k5nen   2년 전

질문 게시판에 이미 답변이 올라와 있지는 않은지 확인 후 글을 작성해 주세요.

https://www.acmicpc.net/board/...

yuntake94   2년 전

예 죄송합니다. 저 글을 확인했는데도 rkn04님과는 다르게 저는 이해가 되지 않았습니다. 리스트로 짰고 리스트에 대해서도 이해가 있다고 생각하지만 저 글을 보고 저렇게 짜면 되는구나를 생각할 뿐이지. 지금 저의 코딩에서 저렇게 짜라고 말씀하시는 의도를 모르겠습니다.

입력은  

2  (갯수)

1 2

하면 옳은 답인 3이 나옵니다.

반례를 찾는 방법은 하나하나 확인을 하며 찾아왔었습니다. 헌데, 말씀해주신 것은 예전에 들어갔었습니다. 반례라고 적혀져있거나 예제가 적혀져있는것은 다보았습니다.

저는 제가 앞으로 풀어갈 방향에서 반례를 저처럼 찾는 것이 맞는지 궁금합니다. 하나하나 찾는게 맞나요?

답을 알려달라고 하는 것처럼 보일 수 있는 글인것 같아 죄송합니다. 하지만 반례를 찾는 동안 많은 시간이 소요됐음을 양해해주시면 감사하겠습니다.


k5nen   2년 전

제가 코드를 복붙하고 실행하는 과정에서 다른 코드를 들고 가서 테스트했나 보네요. 잘못된 댓글로 시간을 낭비하게 해서 죄송합니다.

다른 분들도 각자의 방식이 있겠지만, 저는 질문자의 코드를 그냥 쭉 읽으면서 논리를 따라가보려 합니다.

그러다 여기서 이렇게 하면 안되지 않나? 싶은 코드가 나오면 이 줄이 잘못된 실행을 하게 만들기 위한 데이터를 유추하는 방식으로 반례를 찾습니다.

여기서는 20번 줄에서 a[i]=0이고 i가 1보다 커도 음수와 묶어서 0으로 만들어야 하는 케이스가 보이네요.

yuntake94   2년 전

아 잘못된 실행을 하게 만들기 위한 데이터를 유추하는 방식이군요. 와 감사합니다. 아 저는 반례를 찾을 때 틀리는 구간이 늘 0이 안되나? 1이 안되나? 혹시 끝부분은 안되나? 라는 식이었는데 실행을 안되게 하기 위한 데이터 유추방법이군요. 답변 감사합니다. 

조건을 받았을 때 틀리면 if문에서 찾아가는 방법도 있겠군요. 정말 감사합니다. 진짜 많은 도움이 되었습니다. 시간내서 반례하나 찾아주신것에 대해 정말 감사합니다 rkn04님 

이런식으로 한번 풀어보겠습니다. 정말 정말 감사합니다.

앞으로의 코딩에 정말 도움이 되는 말씀 감사합니다.

너무 감동받아서 글을 끊고 싶지않네요.

감사합니다.

댓글을 작성하려면 로그인해야 합니다.