-
2022년 11월 30일 수요일 (클래스 문제,알고리즘,정규식문제 풀이)개발/개발일지(국비지원) 2022. 11. 30. 17:32728x90
제일먼저
Rect 클래스에 멤버변수로
가로:w 세로:h를 설정해준다.
23-25행
생성자를 생성해준다.
26-28행
프린트시에 호출되는 함수인
__repr__을 생성해주고
return값으로
[결과]처럼 출력시켜주기위해
return값을 설정해준다.
29-34행
면적을 비교하기위해서 사용될 특별함수이다.
>,<,==을 사용할때 호출되는 함수이다.
35-36행
area() 함수가 호출되면
return값으로 w*h의 값을 계산하여 값을 리턴해주고
리턴받은 결과값들로 부등호들을 계산하여
if, elif,elif 문에
해당하는 구문의 print가 실행된다.
37-38행
area()와 같은방법으로 진행된다.
return값만 다른 똑같은 코드이다.
먼저 부모클래스인 Calculator 는
value를 멤버변수값으로 가지고
멤버함수로 add(self,val)
값을가지면서,
add함수가 호출되면
호출시에 add(숫자)
0+=입력된숫자를 계산하여
리턴해준다.
68행
UpgradeCalculator(Calculator)
Calculator의 자손클래스로
minus 멤버함수를 가지고있다
minus함수는
0-=입력된숫자를 계산하여
리턴해준다
maxlimit클래스 또한 Calculator의 자식클래스이다.
멤버변수로 add함수가있는데 오버라이딩된 함수이다.
부모클래스의 add함수와 달리
기능은똑같지만
조건문을통해
계산값이
100이넘어간다면
100이넘어가지않도록 제한(?)을 걸어둔다
문제를 처음보고 많이 어려울거라 생각했는데
생각보다 쉽게(?) 풀리는 문제였다.
먼저 입력값을 저장할 data1을 생성하고
반복문을 입력값의 길이만큼 반복되게 설정한다.
ex)ABC입력
for i in range(3) :
i=0일때
print(data1[0], ":" , code[data1[0])
data1[0] = 입력값의 0번째 즉 A
code[A] = 딕셔너리에 의해 A에 해당하는 밸유값 .-
즉 결과적으로 A : .- 라는값이출력되고 반복문은계속된다.
i=1일때
print(data1[1], ":" , code[data1[1])
data1[1] = 입력값의 2번째 즉 B
code[B] = 딕셔너리에 의해 B에 해당하는 밸유값 -....
즉 결과적으로 B : -.... 라는값이출력되고 반복문은계속된다.
i=2일때
print(data1[2], ":" , code[data1[2])
data1[2] = 입력값의 3번째 즉 C
code[C] = 딕셔너리에 의해 C에 해당하는 밸유값 -.-.이 출력되며
반복문이 종료된다.
문제4 결과 126행
패턴을 설정해준다 \\d+ : 숫자1개이상
129행
re.findall(pattern,data)
126행에서 설정해준 패턴에맞는값을 data에서 찾아서
datalist에 저장해준다.
133행
현재 datalist에 요소들은 문자열로 되어있기때문에
map함수를 이용하여 정수형으로 바꿔준다.
136행
마지막으로 총합,평균을 구하기위해
sum(datalist) : 총합의결과
sum(datalist)/len(datalist) :평균값
을 계산하여 출력하게된다!
728x90'개발 > 개발일지(국비지원)' 카테고리의 다른 글
2022년 12월 1일 목요일(엑셀파일을 파이썬으로 읽어와서 작업하기) (0) 2022.12.01 2022년 12월 1일 목요일(파일/폴더 복사,알고리즘,테이블조회 문제풀이) (2) 2022.12.01 2022년 11월 30일 수요일(엑셀의 파일 읽기와 DB와 연동하여 조회,수정,삭제,추가등의 기능) (0) 2022.11.30 2022년 11월 29일 (클래스,생성자,정규식,파일읽기) (1) 2022.11.29 2022년 11월 29일 화요일(람다식,예외처리 문제) (0) 2022.11.29