안녕하세요 1주차 블로그 리뷰를 맡은 오현민 입니다.
코드는 repl.it 사이트에서 쳐서 캡처했습니다.
https://www.acmicpc.net/problem/10870
피보나치 수를 구하는 문제입니다.
함수 순환을 이용하여 풀어보았습니다.
n>=2 일때부터 함수 호출이 가능해지므로 n이 0,1 일때는 그대로 리턴하도록 코드를 짰습니다.
https://www.acmicpc.net/problem/2525
시간에 분을 더해서 결과시간을 출력하는 문제입니다.
rB (result B) 값에다 현재 분(B)+추가 분(C)를 더해줍니다. 예를 들어 현재 14시 40분이고 추가할 시간이 80분이면 rB는 120 이라는 값을 가집니다.
rA (result A) 값에 %24를 제외하고 생각하면 A+(rB//60)이 되는데 이것은 원래 시에다가 더해진 분에 의해 바뀐 시를 의미합니다. 아까의 예로 돌아가서 시만 생각하면 14시 였는데 rB값이 120분 이었으니까 2시간이 더해진 16시가 됩니다.
그리고 24시가 넘으면 다시 0시로 돌아가므로 %24를 해줍니다.
그리고 최종적으로 rA와 rB%60 를 출력해주면 해결되는 문제입니다.
알고리즘 자체는 어렵진 않지만 map 함수를 이용하여 인풋을 받는다는 문법을 모르면 풀기 어려운 문제 같습니다.
https://www.acmicpc.net/problem/1712
초기투자비용과 노트북 생산비용*판매대수 < 노트북 판매비용*판매대수
투자비용, 생산비용, 판매비용이 주어졌고 판매대수가 몇이 되어야 위 식이 성립되냐를 물어보는 문제입니다.
먼저 생산비용B가 판매비용C보다 높거나 같으면 이익이 발생되는 구조가 아니므로 B>=C일 때는 가차없이 -1을 출력합니다.
처음에는 while 문을 사용하여 접근해봤는데 예시에 있는 21억인 경우엔 초당 2000만번 연산하는 파이썬으로는 시간이 너무 오래 걸려서 문제 의도와 다르다고 판단했습니다.
X를 판매대수라고 하면 A+B*X < C*X 로 표현할 수 있는데 식을 정리하면 A/(B-C)<X 이렇게 됩니다.
우리가 구하는 것은 손익분기점을 달성하는 그때의 X를 구하면 되므로 그냥 간단히 A/(B-C) 값에 1을 더하면 됩니다.
여기서 주의할 것은 문제에서 X가 자연수라 했으므로 A/(B-C)가 아닌 A//(B-C)로 식을 만들어주면 간단히 해결되는 문제였습니다.
https://www.acmicpc.net/problem/4673
문법적으로 아는게 많아야 접근이라도 해볼 수 있는 문제라 사료됩니다.
19 에서 19+1+9 를 더하여 만들어지는 숫자는 29인데 19는 29의 생성자입니다.
29 에서 29+2+9 를 더하여 만들어지는 숫자는 40인데 29는 40의 생성자입니다.
그리고 생성자가 없는 숫자가 있는데 이 숫자를 셀프넘버라고 칭합니다.
1~10000까지 생성자가 없는 숫자를 구하고 출력하는 문제입니다.
array에 1~10000까지 리스트를 만들고 생성자가 있는 수가 들어갈 remove_array 를 만듭니다.
for 문을 2개 써서 첫 번째 for문은 생성자를 제공합니다. 두 번째 for문은 그 생성자로 숫자를 만듭니다.
예를 들어서 array에서 999라는 숫자를 뽑아내는것이 첫 번째 for 문의 역할이고
999+9+9+9 를 연산하여 1026이라는 숫자를 만들고 이 숫자를 remove_array에 저장하는 것이 두 번째 for 문의 역할입니다.
그리고 생성자가 존재하는 숫자를 array에서 제거하고 출력하면 생성자가 없는 숫자들이 출력되게 됩니다.
전체적으로 알고리즘도 절대 쉽지는 않았지만
쓰이는 문법들이 낯선 것들이 많았습니다.
map, split, set 이런 것들이 많이 쓰일텐데 하루빨리 익숙해지는 것을 목표로 공부를 해야겠습니다.
'FOSCAR-(Autonomous Driving) > 알고리즘 스터디' 카테고리의 다른 글
[2023 알고리즘 스터디] 2조 #2주차 (2) | 2023.02.04 |
---|---|
[2023 알고리즘 스터디] 5조 #2주차 - 그리디 (1) | 2023.02.04 |
[2023 알고리즘 스터디] 4조 #1주차 - 백준 3085번(사탕 게임), 24954번(물약 구매) 문제 풀이 (2) | 2023.01.29 |
[2023 알고리즘 스터디] 3조 #1주차 - 백준 1316, 1475, 2960, 3085번 코드 리뷰 (1) | 2023.01.29 |
[2023 알고리즘 스터디] 2조 조영상 #1주차- 알고리즘 성능평가 & 백준 1969번 (2) | 2023.01.28 |