TIL 0314, 1주차 문제 풀이

아침부터 많은 이야기를 들었다. 하루에 16시간을 넘게?
그러면 잠은 6시간 언저리로 자야겠다. 왜냐하면 운동을 뺄 순 없으니까..

나태해지지 않는건 자신 있는데 꾸준히 성과가 나는 부분이 지켜질지 잘 모르겠다.
어찌됐건 놓치는게 있더라도 어떻게든 해나가야겠지.. 가짜 꾸준함은 의외로 완벽히 같은 성과를 규칙적으로 낼 때를 말하는 것 같다.
사람은 컨디션이라는 수치로 형용 할 수 없는 무언가가 있는지라 어제 오늘 꾸준함의 결과는 무조건 다르다.
그러니까 그거 감안하고 어제만큼 못한것에 대해 너무 상심하지 않도록 해야겠다.

아예 언급을 안하는 것은 좀 그렇고 풀면서 지나간 문제들에 대해 간단한 언급정돈 하고 지나가야겠다.
요구조건은 파이썬 언어만 사용이라서 그런지 다소 당황한 경우가 많았다.
C++랑 비교하면 너무 친절하거나 생각 안한곳에서 불친절하거나.

http://acmicpc.net/problem/1001

여기서 1001 대신에 문제 제목 앞의 숫자를 넣으면 직접 문제 페이지로 이동한다. 불친절해서 미안하다.
전체적으로 내장 함수를 익히는 시간이었다고 느끼고있다. 다음 달이면 C 해야할텐데 무슨 소용인가 생각하지만,
지금으로썬 필요하니 함수는 즉각즉각 갖다 쓸 수 있는 능력을 생각해보기로 했다.

2557 Hello World

간단한 입출력이다.

10869 사칙연산

파이썬에서는 // 이 몫을 가져오는걸 상기하는 시간이었다.

2588 곱셈

세자리 곱셈을 손수하다보면 결국 덧셈을 몇 번 하게 된다. 그 과정을 구분해서 코드로 설명하는 과정이다.

9498 시험 성적

조건문을 시도하보는 시간 이었다.

2753 윤년

and or와 같은 이중조건을 사용하는 상황이다.1차 조건으로는 4의 배수여야만 하고, 2차 조건은 둘 중 하나만 만족하면 된다.
1. 100의 배수가 아닐 때 2. 400의 배수 일 때
(400은 윤년이다.)

1085 직사각형에서 탈출

내가 과한 해석을 했어서 그런지 멀리 돌아가는 느낌이었다. 그냥 가까운 변과의 길이를 찾으면 됐다.
어쨌든 대각선은 그 양쪽에 있는 수평, 수직선보단 반드시 길이가 길지 않은가.

2739 구구단

구구단을 이용하면 숫자를 print에 출력하는데 이 과정에서 str()로 묶어주는게 필요하다.

10950 A + B - 3

C++ 이었으면 어떻게 입력을 잡아주면 좋을지 고민도 하지 않았을텐데 이 부분에서 고민이 많았다.
근데 나만 겪는게 아닌 것 같아서 찾아보는 부분에 대해 죄책감은 많이 사라졌다.

2438 별 찍기 - 1

N번째 줄은 N개의 별이 찍히니 이중 반복으로 해결 할 수 있다.

10871 X보다 작은 수

앞에서 언급한 10950번 문제처럼 입력만 좀 많이 까다로운 문제였다.

2562 최댓값

어쨌든 입력으로 들어오는 숫자의 갯수는 9개로 정해져있다.
그러면 9개 중에 최대를 찾고 그 즉시 idx를 표기해두면 좋다.
사실 지금 다시 생각해보니 제출한 코드는 최대를 찾고 나중가선 최대의 위치를 찾게 구현했던 것 같다.
다소 무식했지만 해결하면 ok죠?

8958 OX퀴즈

파이썬도 문자열을 배열처럼 [1] 형태로 활용 할 수 있다. 많이 놀랍진 않았으니 괜찮아

4344 평균은 넘겠지

입력도 다소 까다롭고 마지막 퍼센테이지 출력도 까다로웠다.
실제 계산은 순식간이었으니 함수에 대한 부분을 좀 알아가라는 의미로 해석했다.

2577 숫자의 갯수

그냥 정직하게 보이는 것만 짜 나가도 된다.

15596 정수 N개의 합

직접 함수를 구현 하도록 하는 문제였다. 크게 이야기 할 것이 없다.

11654 아스키 코드

파이썬도 아스키 코드를 다룰 수 있는 몇몇 함수가 있다. 해당 함수의 존재를 인지하는 시간이었다.

1152 단어의 갯수

띄어쓰기로 단어를 구분하니 띄어쓰기를 세면 된다.
일반적인 띄어쓰기는 앞 뒤에 모두 단어가 있음이 보장되지만 띄어쓰기가 맨 앞이나 맨 뒤에서 시작하는 경우 그렇지는 않다.
그래서 두 경우에 대해 예외처리를 하면 정답을 얻을 수 있다.

2908 상수

무식하게 일의 자리부터 비교하도록 했다. 어차피 세자리 두개 준다고 하니까 상관없다.

2869 달팽이는 올라가고 싶다

단순 무식하게 하고 싶었는데 시간제한이 빡빡한걸 시간초과를 한번 띄워놓고 깨달았다.
그래서 쭉 보아하니 주어진 나무거리(총 완주거리)에서 마지막 날은 반드시 완주함이 보장되니 올라가는 거리만큼 한번 빼고,
그리고 빼서 나온 숫자를 (올라가는거리 - 내려가는거리)로 나눈다.
참고로 나눴을 때 1 미만의 숫자가 나올 수 있는데 어쨌든 하루가 필요한 상황이 된것이니 올림처리를 한다.
그럼 정답을 얻을 수 있다.

1978 소수 찾기

시간 제한에 대한 제약은 적었고 1, 2와 같이 애매하게 조건에 걸칠 법한 애들만 잘 처리해주면 까다로워지진 않았던 것 같다.
어떤 책에서 이렇게 경계선에 걸리는 테스트 케이스 위주로 해야한다 배웠는데 저자가 기억이 안나서 절 할 방향을 모르겠다.

9020 : 골드바흐의 추측

https://hyeonistic.tistory.com/16

 

[PY] 9020 : 골드바흐의 추측

https://www.acmicpc.net/problem/9020  얘 진짜 당황스러운 문제였다. 힌트로는 에라스토테네스의 체를 제시하길래 나무위키에서 찾은 내용대로 구현을 했다.테스트 케이스들에 대해서도 작동이 좋았으

hyeonistic.tistory.com

다소 버거운 문제였어서 별도의 글을 썼다.