ideal insane

Resistance ∙ Pioneer ∙ 생산자

Algorithm 96

기초 100제 - 1049 : [기초-비교연산] 두 정수 입력받아 비교하기1(설명)

비교연산자는 연산 결과값으로 'True'와 'False'값을 나타낸다. 예를 들어 a>b에서 a가 3, b가 1이며 참으로 'True'를 나타낸다. 이 'True', 'False'의 데이터형은 'bool'이며, Boolean에 대해 알아보면 좋다. 정보 int() 함수를 이용하면 bool 데이터형을 정수로 바꿀 수 있는데, True는 1로, False는 0으로 바뀐다. 테스트 케이스 결과:

기초 100제 - 1047 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기(설명)

비트시프트연산자는 2진수에서 자리수 이동을 계산해준다. 십진수로 5인 '0101'에 '>'는 연산자 좌측 값에 '*1/2' 연산을 우측 값만큼 한다고 생각할 수 있는데, 위 문제 그림에 마지막 a>>2 를 보면 뒤에 이진수 '10'이 밀려난 것을 볼 수 있다. 소수점으로 판단해 '0.5'로 생각할 수도 있는데 결과가 '2'인 것으로 보아 시프트 연산으로 밀려난 1 미만의 부분은 폐기되는 것으로 보인다.

기초 100제 - 1046 : [기초-산술연산] 정수 3개 입력받아 합과 평균 출력하기

1: 입력값을 받아 공백을 기준으로 나누고 변수 3개에 각각 저장한다. 2~4: 데이터 형을 정수형으로 변환한다. 5: 합을 구해 변수 'd'에 저장한다. 6: 합과 평균을 줄을 바꿔 출력해야 하므로 따로 print() 함수를 사용하여 출력한다. 먼저 합 7: 반올림하여 소수점 이하 첫째 짜리까지 출력하기 위해 먼저 3으로 합을 나누고 '%.1f'를 사용하여 출력한다. 테스트 케이스 결과:

기초 100제 - 1045 : [기초-산술연산] 정수 2개 입력받아 자동 계산하기

요구사항이 많은 문제지만, 결국 '+', '-', '*', '//', '%', '/' 연산자를 사용해 출력해주면 되는 이전 문제들의 종합이다. 이 코드로 제출하면 잘못된 풀이로 나온다. 출력 조건인 소수점 이하 셋째 자리에서 반올림해 둘째 자리까지 출력에 관한 처리를 하지 않았기 때문이다. 출력시 '%.2f'를 사용하면 소수점 이하 셋째 자리에서 반올림해 둘째 자리까지 출력한다. 테스트 케이스 결과:

기초 100제 - 1041 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기(설명)

1. 입력받은 영문자를 ord() 함수를 이용해 아스키코드로 변환한다. 2. 변환된 아스키코드에 1을 추가하여 다음문자에 해당하는 아스키코드를 만든다. 3. 아스키코드를 chr() 함수로 문자로 변환해 출력한다. 테스트 케이스 결과: 입력값이 'z'일 때 출력값이 '{'이 나오는데, 이것은 z가 아스키코드에서 마지막 영문자이기 때문이다. '{'가 출력되는게 불편하면 조건문을 통해 출력을 제어할 수 있다. ('{'의 아스키코드는 123이다.)

반응형