[내일배움캠프] 11/16 수요일 TIL 회고록
오늘은 9시에 알고리즘 타임어택을 했다.
첫번째 문제는 각도기 문제, 두번째 문제는 옷가게 할인받기, 세번째 문제는 369게임, 4번째는 로그인 관련 문제였다.
팀원분들 중 한분이 쉽다해서 쉬운줄 알았는데 나한텐 쉽지는 않았다ㅋㅋㅋ
자바랑 파이썬 둘중에 하나를 사용하라고 하셔서 좀 더 쉬운 파이썬으로 문제를 풀었다.
1.각도기 문제
def solution(angle):
if angle < 90:
return 1
if angle == 90:
return 2
if 90 < angle <180:
return 3
if angle == 180 :
return 4
예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return 하는 알고리즘 문제였다.
여기까진 할만했다.
2. 옷가게 할인 문제
def solution(price):
answer = 0
if price >= 500000:
answer = price * 0.8
elif price >= 300000:
answer = price * 0.9
elif price >= 100000:
answer = price * 0.95
else:
answer = price
return int(answer)
여기도 어려웠지만 할만했다. 할인율 계산하는 식이 뭔지 모르겠어서 구글링해서 겨우겨우 찾았다..
3. 369 문제
def solution(order):
num_order = str(order)
count = 0
count += num_order.count('3')
count += num_order.count('6')
count += num_order.count('9')
return count
여기서 좀 헤맸다. 머리를 쥐어짜가면서 겨우겨우 코드를 짰는데 자꾸 실패가 나와서
구글링을 했더니 str을 써야 한다는 사실을 알고 짜봤더니 바로 성공했다.
이게 입문 문제라니 쉽지않다.
여기까지 풀었더니 11시가 넘어서 4번 문제는 풀지 못했다. 로그인 문제는 넘 어려웠다 ㅠㅠ..
시간 날때 한번 풀어봐야겠다.
타임어택을 한 후 화요일에 멈춘 1- 17 객제지향 퀴즈를 풀었다.
처음에 이걸 보고 멍해졌다 ㅋㅋㅋㅋ..
도저히 혼자서 할 수는 없을거 같아 강의 해설을 보면서 짜봤다.
강의 해설을 다본 후 해설을 안보고 혼자 코드를 짜봤다.
맨 처음 틀만 잘 잡으면 그 후에는 그래도 쉬워지고 재밌어지는데 제일 처음이 문제다 ㅋㅋㅋ..
1- 18 예외,에러 처리
실행 도중 발생하는 Exception 은 RuntimeExcption 을 상속받아서 정의하기.
파일을 읽고 쓰거나, 원격에 있는 저장소로부터 데이터를 일고 쓸 때 나는 에러를 표현하려면
IOException 을 상속받아 정의하기
try-catch(-finally) 형식과 try-with-resource 형식이 있다.
try-with-resource 은 입출력과 함께 자주 쓰인다.
1-19 예외 에러 처리 퀴즈
먼저 퀴즈 해설에서 throws 문을 쓰라해서 썼다.
class ArrayCalculation {
int[] arr = { 0, 1, 2, 3, 4 };
public int divide(int denominatorIndex, int numeratorIndex)
throws ArithmeticException,ArrayIndexOutOfBoundsException{
return arr[denominatorIndex] / arr[numeratorIndex];
}
}
그 다음 try-catch 문을 이용했다.
try {
System.out.println("1 / 0 = " + arrayCalculation.divide(1, 0)); // java.lang.ArithmeticException: "/ by zero"
} catch (ArithmeticException e) {
System.out.println("잘못된 계산입니다. " + e.getMessage());
}
try {
System.out.println("Try to divide using out of index element = "
+ arrayCalculation.divide(5, 0)); // java.lang.ArrayIndexOutOfBoundsException: 5
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("현재 index 범위는 0 부터"+ (arrayCalculation.arr.length -1) +" 까지 입니다");
}
실행 결과
index 범위를 알려주는 함수. arr.length 만 외우면 될 것 같다.
arrayCalculation.arr.length
이 강의를 끝으로 자바 문법에 대한 모든 과정을 마쳤다...벌써..
다음 강의 부터는 자바 코드를 본격적으로 활용하는 코드를 배운다고 하는데 또 굉장히 어려워질거같다.
8시에 우연희 튜터님이 오전 9시에 했던 타임어택 문제 해설 강의를 해주셨다.
해설에 들어가기 전에 깃허브 사용법을 알려주셨는데 되게 신기했다. 댓글도 달수있고 질문도 할수있고 ㅋㅋㅋ
먼저 자바로 해설을 해주셨는데 역시 파이썬이 되게 쉬운 코드였다.. ㅋㅋㅋ
9시가 다 되서 파이썬 해설 강의는 듣지 못했다. 4번째 문제 해설 궁금했는데 아쉬웠다. 나중에 풀어봐야겠다.
내일도 열심히 강의를 들어야겠다. 화이팅!