본문 바로가기

코딩 테스트/swea7

회문의 회문 첫번째 코드 회문을 만드는 함수를 작성한 이후에조건 3개가 모두 충족되는 경우 YES, 그 중에서 하나라도 맞지 않으면 NO를 출력하도록 하자! 여기서 포인트는?회문을 만드는 함수!!! + 인덱스 주의!! test_case = int(input()) for tc in range(test_case):     s = str(input())[: -1]     n = len(s)     def palindrome(text):         for i in range(len(text)//2):             if text[i] != text[(-1)-i]:                 return False         return True          cond1 = palindrome(s)     .. 2024. 12. 27.
식료품 가게 첫번쨰 코드 현재 가격과 판매할 금액을 리스트에서 지워가면서 구하면 된다!먼저 맨 마지막(즉, 가장 큰 수는) 할인 전 금액이므로 뒤에서부터 진행한다!할인한 값이 나오면 해당 값을 리스트에서 제거한다. 이런 과정을 리스트가 모두 빌때까지 진행한다. import sys input = sys.stdin.readline test_case = int(input()) for tc in range(test_case):     n = int(input())     p = list(map(int, input().split()))         discount_price = []     while p:         price = p[-1] * 0.75         price_index = p.index(price) .. 2024. 12. 23.
육십갑자 첫번째 코드 먼저 헷갈리지 않게 input을 잘 정리해서 집어넣는다.그리고 나는 이 문제를 읽고 나머지를 생각하였다.최대로 나올 수 있는 문자열의 개수는 n * m개이다. 문제의 조건에서 n, m의 최대수는 20으로 최대 400개까지 나오므로 그렇게 큰 수가 아니라고 판단하였고, 질문에 어떤 숫자가 나올지 모르므로 모두 만들고 골라쓰는 식으로 진행하면 편할 것 같다는 생각이 들었다. 그래서 나는 만들 수 있는 모든 문자열을 작성한 후 str_list라는 리스트 안에 저장하였다.이후 question의 숫자를 n * m으로 나눈 후 "나머지 - 1"의 위치에 해당하는 문자열을 불러오는 식으로 진행하였다.(이때 나머지가 0인 경우는 마지막 문자열 이므로 이를 따로 취급해주자!) test_case = int(i.. 2024. 12. 20.
증가하는 사탕 수열 첫번째 코드 이번에는 문제 잘 읽고 이상하게 접근하지 말자 ㅋㅋㅋ 0이 있는 경우 조건에 맞지 않으므로 -1을 내보낸다.또한 A, B, C 상자를 역순으로 C, B, A 순으로 바라보면서만약 최소한의 사탕을 먹는 방법으로 접근한다. test_case = int(input()) for t in range(test_case):     box_list = list(map(int, input().split()))     eat = 0     for i in range(2, 0, -1):         if 0 in box_list:             eat = -1             break         if box_list[i-1] >= box_list[i]:             limit = b.. 2024. 12. 16.
방울 마술 첫번째 코드 이때 문제를 잘못 이해하고 있다는 것을 왜 내 나름의 논리로 푼 이후에 생각이 든 것일까...k를 섞는 개수라고 생각하고 계속 움직여야 한다고 생각하였다...  아래 코드는 완전히 문제와 다른 코드이다.. test_case = int(input()) for i in range(test_case):     cups, move_limit = input().split(' ')     move_limit = int(move_limit)     for j in range(3):         if cups[j] == 'o':             now = j             break     if move_limit == 0:         answer = j         print(f'#{.. 2024. 12. 13.
구구단 걷기 첫번째 코드 이전에 곱셈식을 만드는 알고리즘을 이용하면 된다.이때 중요한 것은 1 * 5와 5 * 1은 모두 같고 메모리만 사용하기 떄문에1부터 int(5 ** 0.5) + 1까지만 확인하면 되는 것이다! 최소한으로 움직이는 방법은 가장 작은 수의 곱들로 해당 수를 만들면 된다!즉 25의 경우 1 * 25보다 5 * 5가 가장 작은 수의 곱들이고, 가장 적게 움직이는 방법이다.  또한 (1, 1)부터 시작하므로 내려가는 크기는 각각의 가로 세로 몫에 1씩 빼야 한다는 것이다. question_num = int(input()) for i in range(1, question_num + 1):     n = int(input())     multi = 1     for j in range(1, int(n**.. 2024. 12. 6.
728x90