조건분기문 제거
조건분기문 없는 홀,짝 판별
얼마 전에 친구를 만났는데,
조건분기문을 사용하지 않고 홀,짝을 판별할 수 있냐고 물어봤다.
흥미로웠다. 조건분기 없이 판별을 해야 한다라..
재밌었다.
이리저리 생각해보다가 생각난 방법은
2진수와 딕셔너리를 사용하는 것이다.
홀 아니면 짝. 두 가지 경우밖에 없기 때문에, 2진수로 변환하고
가장 오른쪽 값에 따라 0이면 짝 1이면 홀수이다.
그러니 0과 1일을 키로 가지는 딕셔너리를 만들어서 풀면 조건분기문을 사용하지 않고 홀,짝을 판별할 수 있다.
근데 왠지 모르게 찝찝했다. 모범 답안이 아닌 느낌..?
딕셔너리에서 키에 따라서 다른 값을 불러오는 것도 어떻게 보면 분기?아닌가 싶기도 하고
앞으로 심심할 때 마다 틈틈이 생각해봐야겠다.
def solution(n): dic = {0: '짝', 1: '홀'} print(dic[int(format(n, 'b')[-1])])
추가적으로 홀, 짝 판별외에 if문을 처음 배울 때 가장 흔히 보는 문제 성적 판별 문제도 조건 분기를 쓰지 않고 풀어봤다.
같은 방법으로 풀 수 있으나 역시나 조금 찝찝했다.
def solution2(n): dic = {0: 'F', 1: 'F', 2: 'F', 3: 'F', 4: 'F', 5: 'F', 6: 'D', 7: 'C', 8: 'B', 9: 'A'} print(dic[n // 10]) ```
Author And Source
이 문제에 관하여(조건분기문 제거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@choiyunh/조건분기문-제거저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)