10의 9승까지의 숫자 중에,
각 자리 수가 다른 숫자들을 구하시오. 였나??
각 자리 수가 다른 숫자들 개수를 구하시오 였나??
가물가물하긴 한데,,
이런 식으로 간단한 퀴즈를 내주셨거든.
보자마자 떠오른 생각은
len(set(str(n))) == len(str(n))
모든 숫자에 저거 적용해서 true만 넘겨주는 건데...
10의 9승까지의 숫자라고 하니까,
저런 식으로 하면 안될 거 같아서
조합으로 경우의 수로 구하는 게 맞다고 생각이 들어서 그렇게 설명했거든??
8자리면 7의 자리까찌는 조합으로 구하고,
8자리여도 45678111 이런 식으로 범위가 꽉 안 채우고 중간에 짜를 수 있으니까,
마지막 자리는 따로 구현한다...
이런 식으로 접근했는데.
이렇게 해도 되나???
아니 걍 저거 set, len을 적용한 풀이도 일단 말을 하고
10의 9승 범위니까 저렇게하면 시간 너무 많이 걸릴 거 같다
이런 멘트도 잘 쳤어야 했나?
애초에 더 좋은 알고리즘이 있음 이거??
아 너무 아쉽다. 더 답변 잘 할 수 있었을텐데;;
이걸 왜 코딩을하냐? 그냥 10Pn - 9P(n-1) 1부터 9까지 부분합에 1 더한건데
ㄹㅇ
그니까 이거 수학, 조합으로 접근하는 게 맞는거지??
근데 이게 무조건 10의 9승까지로 끝내는 게 아니라, 끝자리는 345999911 이런 식으로 여기까지만 구해야 될 수도 있짜나.
넌 중학교수학부터 다시 해야될것 같다ㅇㅇ
좀 친절하게 설명을 해줘봐..나 그래도 신촌에서 대학다녔어
니가 문제를 친절하게 안 알려줬잖아
아니...나도 문제를 정확하게 뭘 요구하는 지 당시에 물어봤어야 했는데, 안물어봐서 아쉽긴한데..그래도 대충 너는 알 거 아니야
ㄱ. 문제처음 설명해주실 때 10의 9승까지다 이런 말이 있었으니까, len,set,str조합하는 방식은 별로다. ㄴ. 정확하게 10의 9승까지 구해야한다. -> 이러면 조합으로 경우의 수 구하는 게 맞는 거 같은데 ㄷ. 9자리이다 -> 이러면 99999999까지인지, 3456789111까지인지 모르니까 8자리까찌만 조합으로 하고 나머지 9자리숫자는 앞자리만 1,2,3고정하는 식으로 따로 구한다. 이러헥 접근하는ㄱ ㅔ맞냐공..ㅋ
가령, 어떤숫자 n까지( n < 10^9 범위) 자리수가 모두 다른 숫자를 전부 구하시오 or 경우의 수를 구하시오 이런 경우에 알고리즘으로 더 좋은 방식이 있는지도 궁금함. 알고리즘을 내가 잘 몰라서 조합으로 푸는 것보다 좋은 방식이 있는지 모름
개수 구하는 거면 조합론으로 계산결과 내면 되고, 숫자 모두 출력하는 거면 얄짤없이 백트래킹 돌아야 되고
딲히 다른 방법이 없나보넹. ㄳㄳㄳ 면접떨어지면 걍 말을 조리있게 못해서 떨어진걸로~
면접이야 갖은 이유로 떨어지는거지만 언변이 능숙지 못했다고 하는건 자기기만이지. 문제를 애초에 못풀었는데 언변이 문제겠냐고
요즘애들 상태 ㄹㅇ 심각하네 글쓰는걸 할수있던 문제푸는걸 할수있던 인간적으로 둘중 하나는 해야지 ㅅㅂ ㅋㅋㅋㅋ 둘다못하노 ㅋㅋㅋ
해당 댓글은 삭제되었습니다.
캬 이거지.
그치...이거지 고마워고마워 이런 걸 원했음. 너는 크게 성공할 거야. 똑똑한데 마음씨도 고우니깐. 정말 감사!
아까 댓 작성자임. 님이 올린 문제는 단순히 permutation으로 풀림
댓 왜 지웟음. ㅋㅋ 조합으로도 풀리고 님이 말한거로도 풀릴 거 같은뎅. ㅎㅎ 답변 감사 감사. 면접에서 님이 알려준 거 까지 답변햇으면 인상깊엇을껀데 이건 실력이 그정도는 ㅏㅇ니라 아쉬울 게 업삳. ㅎㅎ 감사감사 새벽에 너무 고마웡
어제 면접 본 곳에서 ㅎㅎㅎ1개월 전환형 인턴 해보라고 답변왔다 ㅋㅋㅋㅋㅋ