2024 후기 성대경시 초등 4학년 30번 문제
2024. 10. 8. 01:15 |
프로그래밍/기타
초등학교 4학년이 어떻게 이 문제를 연필로 풀 수 있을지 모르겠네요. 저도 연필로 해결할 자신은 없어서... 대신 Python 코드로 풀어보았습니다.
A = ['가', '가', '나', '나', '다', '다', '라', '라']
B = [[], [], [], []]
ans = set()
def dfs(s):
if s == 4:
t = ' '.join([''.join(sorted(x)) for x in B])
if t not in ans:
ans.add(t)
print(t)
return
elif len(B[s]) == 2:
dfs(s+1)
else:
for i in range(8):
if (A[i] != 'X') and (A[i] not in B[s]):
ori = A[i]
B[s].append(ori)
A[i] = 'X'
dfs(s)
A[i] = ori
B[s].pop()
dfs(0)
print(len(ans))
'프로그래밍 > 기타' 카테고리의 다른 글
아파트 실거래가 조회 실거래닷컴 (11) | 2020.02.11 |
---|---|
[프로그래머스][Python3] 단어 변환 (1) | 2019.11.22 |
[프로그래머스][Python3] 타겟 넘버 (0) | 2019.11.11 |
[Python3][2020카카오공채] 가사 검색 (0) | 2019.10.07 |
[Python3][2020카카오공채] 괄호 변환 (0) | 2019.10.04 |
[Python3][2020카카오공채] 문자열 압축 (0) | 2019.10.03 |
[Python] json.dumps 한글 유니코드 (0) | 2019.04.05 |
하노이의 탑 (1) | 2019.02.13 |
최근에 달린 댓글 최근에 달린 댓글