https://www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 문제 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, www.acmicpc.net N = int(input()) name = list(input() for _ in range(N)) success = list(input() for _ in range(N-1)) tmp = {} for i in range(N): if name[i] not in tmp: tmp[name[i]] = 1 else: cnt = tmp[name[i]] tmp[name[i]] = cnt + 1 for..
https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net word = list(input()) length = len(word) reverse = [] for i in range(length-1, -1, -1): reverse.append(word[i]) if word == reverse: print(1) else: print(0)
https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr def solution(arr): answer = [] answer.append(arr[0]) for i in range(1, len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) return answer
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr def solution(clothes): answer = 1 clothe = {} for i in range(len(clothes)): if clothes[i][1] not in clothe: clothe[clothes[i][1]] = 1 else: tmp = clothe[clothes[i][1]] tmp += 1 clothe[clothes[i][1]] = tmp for c in clothe: answer *= (clothe[c] + 1) answer -= 1 return answer
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr def dfs(computers, check, v): check[v] = 1 for i in range(len(check)): if check[i] == 0 and computers[v][i] == 1: dfs(computers, check, i) def solution(n, computers): answer = 0 check = [0] * n for ..
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr def solution(answers): answer = [] s1 = [1, 2, 3, 4, 5] s2 = [2, 1, 2, 3, 2, 4, 2, 5] s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] res = [0, 0, 0] for i in range(len(answers)): ans = answers[i] if (s1[i % 5] =..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr def solution(begin, target, words): if target not in words: return 0 answer = 0 start = [begin] while(len(words) != 0): for s in start: tmp = [] for word in words: cnt = 0 for i i..
https://www.acmicpc.net/problem/10026 10026번: 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G( www.acmicpc.net from collections import deque # 상, 하, 좌, 우 dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] def bfs(x, y): q.append([x, y]) check[x][y] = 1 while(q): x, y = q.popleft() for i in range(4): nx, ny = x + dx[i], y + dy[i] if 0