본문 바로가기

코딩 테스트291

사과 담기 게임 첫번째 코드 m의 시작점과 끝점을 이용하기로 했다. 윈도우? 투포인터? 같은 느낌으로!현대 떨어지는 곳이 m의 끝점보다 크다면 해당 차이만큼 움직이고!현재 떨어지는 곳이 m의 시작점보다 작다면 해당 차이만큼 움직이고!사이에 있다면 상관없음! (else 이후에 붙일 코드 없음!)총 움직인 개수 더하기! import sys input = sys.stdin.readline n, m = map(int, input().split()) j = int(input()) apple = [] for _ in range(j):     apple.append(int(input())) m_start = 1 m_end = 1 + (m-1) count = 0 for i in apple:     if i > m_end:       .. 2024. 9. 20.
100 다각형의 면적 첫번째 코드 원점과의 외적을 통해서 삼각형의 넓이를 구하는 방법을 이용하여 다각형의 넓이를 구하는 것이 참신했다.의외였던 것은 2개의 점을 이용하여 구하는 방식으로 넓이가 알아서 더하고 빼지는...우오어마지막에 양수로만 만들면 되는!! 신기했다!!고등학생때도 이런 방법을 쓴 적이 있었던 것 같은뎅... 책의 방법을 참고하여 코드를 작성하고책을 참고하여 일부 수정하였다. import sys input = sys.stdin.readline n = int(input()) x_list = [] y_list = [] answer = 0 for _ in range(n):     x, y = map(int, input().split())     x_list.append(x)     y_list.append(y) x_.. 2024. 9. 19.
099 선분 그룹 (미해결) 첫번째 코드 이해가 되지 않은 부분이 있어 이해 후에 코드를 다시 작성할 예정이다. 유니온 파인드와 CCW를 함께하는 과정인데,유니온 파인드 부분의 이해가 되지 않아 고군분투 중이다...ㅋ링크 2024. 9. 19.
097 CCW 첫번째 코드  기하와 CCW를 이용하여 푸는 문제로개념 문제로 바로 작성할 수 있었다!! import sys input = sys.stdin.readline x1, y1 = map(int, input().split()) x2, y2 = map(int, input().split()) x3, y3 = map(int, input().split()) CCW = (x1 * y2 + x2 * y3 + x3 * y1) - (x2 * y1 + x3 * y2 + x1 * y3) if CCW     print(-1) elif CCW == 0:     print(0) else:     print(1) 통과!링크https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%8.. 2024. 9. 17.
098 선분 교차 2 첫번째 코드 선분이 교차하는 경우를 책의 개념을 통해 이해했다.뭔가 이해보다는 암기의 느낌이 강했다...ㅋㅋㅋㅋ ABC: AB를 기준으로 C의 CCW 구하기ABD: AB를 기준으로 D의 CCW 구하기CDA: CD를 기준으로 A의 CCW 구하기CDB: CD를 기준으로 B의 CCW 구하기 선분이 교차하는 경우ABC * ABD = 음수 and CDA * CDB = 음수0인 경우 min max x, y를 통해 구할 수 있다!! 코드는 책을 참고했다. import sys input = sys.stdin.readline x1, y1, x2, y2 = map(int, input().split()) x3, y3, x4, y4 = map(int, input().split()) def CCW (x1, y1, x2, y2,.. 2024. 9. 17.
3의 배수 첫번째 코드 숫자를 하나하나 더해야 하므로, 문자열로 바꾼 후 각각 숫자를 더하고 한자리 숫자가 될 때까지 이 과정을 반복한다.그리고 위 과정이 진행된 숫자를 구한 후, 진행된 숫자를 출력한다. 한자리 수가 되었을 때, 해당 숫자가 3으로 나누어 떨어지면 YES를 출력, 아니면 NO를 출력한다. import sys input = sys.stdin.readline number = str(input())answer = 0 while len(number) != 1:     Sum = 0     answer += 1     for i in number:         Sum += int(i)     number = str(Sum) print(answer) if int(number) % 3 == 0:     pr.. 2024. 9. 16.
728x90