t6422234   4년 전

코드를 짜서 제가 넣은 테스트 케이스에서는 돌아가는데 제출을 하면 채점이 30% 정도까지 되다가 틀렸다고 떠요 ㅠㅠ

어떤 케이스에서 틀렸는지를 모르겠네여..

제가 짠 방식은

서로 다른 세 숫자라고 했으니

123부터 987까지 for문을 돌면서 조사를 합니다.

현재의 세자리수를 먼저 문자열로 변환하고 문자열을 구성하는 문자 중 같은게 있으면 continue를 사용해서 넘어갑니다. 

(서로 다른 세 자리 수가 아니므로 스킵)

서로 다른 세자리 수라고 판명이 되면

그 수가 테스트 케이스로 주어진 스트라이크를 만족하는지, 볼을 만족하는지를 조사합니다.

이 때 만족하지 않으면 바로 for문을 탈출하고, 탈출하지 않고 테스트 케이스 수 만큼 통과하면 카운트를 늘립니다.

이런 방식으로 코드를 작성했습니다.

(str[0]에는 현재 검사할 수를 문자열로 넣고, str[1]~ str[x](테스트 케이스 수만큼)는 추측한 세자리 수들이 문자열로 들어갑니다.) 

chogahui05   4년 전

차라리 이런 식으로 코딩하는 것은 어떠신가요?

(1) 중복되지 않는 숫자들만 뽑아서 나오는 세 자리 자연수를 배열에 저장합니다.

(2) 이 숫자들에 대해서 하나씩 전수 조사를 하면서

  - 영수가 말한 조건과 모두 다 일치하면 count를 증가시킵니다.

  - 그렇지 않으면 count는 증가하지 않습니다.

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