목록분류 전체보기 (135)
100세까지 코딩

문제 나의 생각 시간 제한을 보고 반복문은 안될 것이라 판단. 정상 = (정상-올라갈수 있는 길이)를 해주면 추후에 + 1 DAY 해주면 된다. 바뀐 목적지를 (올라갈수 있는 길이 - 미끄러지는 길이)로 나눠 몫을 저장한다. 몫에다가 +1을 한다. 틀린 나의 풀이 A, B, V = map(int, input().split()) V = V - A result = V//(A-B) if (A-B) V: print(1) else: if (V - A) % (A - B) == 0: print((V - A) // (A - B) + 1) else: print((V - A) // (A - B) + 2) 참고 수학적 풀이는 티어보다 더 어렵게 느껴진다.. 수학적 사고력을 키우는 노력이 필요하겠다.

문제 나의 생각 N값에 N을 B로 나눈 몫을 저장한다. 나머지는 list에 넣는다. 몫이 0이 되면 멈춘다. list를 reverse()시키면 진법에 해당하는 표현이 나온다. 10이 넘어가면 chr(ord('A') - 10 + list[i])를 해주면 A = 10이고 알파벳 대문자로 치환된다. 나의 풀이 N, B = map(int, input().split()) total = 0 list_a = list() while N > 0: list_a.append(N % B) N = N // B list_a.reverse() for i in range(len(list_a)): if list_a[i] >= 10: print(chr(ord('A') - 10 + list_a[i]), end="") else: print..

문제 나의 생각 솔직히 수학적으로 풀려고 다가갔다가 1시간동안 못풀었다.. 질문 게시판을 둘러보고 2차원 배열을 사용한다는 것을 보고 힌트를 얻었다. 100 X 100 사이즈의 배열을 만든다. (흰색 도화지) 검은색 색종이 크기만큼 '1'로 채운다. 1의 갯수를 세면 색종이가 붙은 검은 영역의 넓이를 구할 수 있다. 나의 풀이 paper = int(input()) matrix = [[0 for _ in range(100)] for _ in range(100)] cnt = 0 for _ in range(paper): X, Y = map(int, input().split()) for i in range(X, X + 10): # 가로의 길이가 10 for j in range(Y, Y + 10): # 세로의 길..

10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 문제 나의 생각 2차원 배열을 생성하여 한 줄의 단어들을 list로 입력받는다. 최대 15글자 이므로 col을 15라고 생각하고 탐색 5개의 단어들을 입력받으므로 row 5라고 생각하고 탐색 세로로 읽어야하니 2중 반복문 중 안의 반복문이 row에 대해 한다. ex) matrix [0][0] -> matrix [1][0] -> matrix [2][0]... 세로로 읽어가며 temp_list에 추가해 나간다. 길이가 15글자가 안 되는 단어가 나오면 오류가 ..

2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 문제 나의 생각 2차원 배열에 모두 입력 받는다. 최댓값을 -1로 초기화 시켜놓는다. 이중 반복문으로 순회해가며 최댓값보다 큰 값이 나오면 해당하는 값과 위치를 저장한다. 나의 풀이 matrix = [list(map(int, input().split())) for _ in range(9)] max_res = -1 max_index_row = 0 max_index_col = 0 for i in range(9): for j in range(9): if matrix[i][j] > max..

문제 나의 생각 단어를 순회하면서 바로 다음 알파벳을 본다. len(s)-2까지 돌아야 s [j+1]이 index 초과가 되지 않는다. 현재 알파벳과 다르면 현재 알파벳이 그다음에 나오는지 확인한다. 그다음에 또 나오면 그룹 단어가 아니므로 cnt -= 1 나의 풀이 T = int(input()) cnt = T for i in range(T): s = input() for j in range(len(s) - 1): if s[j] != s[j + 1]: if s[j] in s[j + 1:]: cnt -= 1 break print(cnt) 참고 T = int(input()) cnt = T for i in range(T): s = input() for j in range(len(s)-1): if s.find(..