2025/04 7

하루 코테 1개 풀기 - 향해 7일차

https://www.acmicpc.net/problem/1181 헷갈리고, 다시한번 볼 점# ❌ 잘못된 표현sorted(myword, key=lambda x: x, len(x)) # ✅ 올바른 표현sorted(myword, key=lambda x: (x, len(x))) ← 알파벳 → 길이sorted(myword, key=lambda x: (len(x), x)) ← 길이 → 알파벳 n = int(input())myset = set()for _ in range(n) : word = input() myset.add(word) sorted_word = sorted(myset, key=lambda x : (len(x), x))for i in sorted_word : p..

코딩테스트 2025.04.20

하루 코테 1개 풀기 - 향해 6일차

n, w = input().split()n = int(n)nicknamelist = set()for _ in range(n): nickname = input() nicknamelist.add(nickname)if w == 'Y': required = 2elif w == 'F': required = 3elif w == 'O': required = 4max_games = len(nicknamelist) // (required - 1)print(max_games)set() :집합을 처리하기 위한 것,중복을 허용하지 않는다순서가 존재하지않는다.- 값을 추가 : add() - 값 제거 : remove(), discard() remove(): 없는 값을 지울려하면 오류가 발생 discar..

코딩테스트 2025.04.20

하루 코테 1개 풀기 - 향해 4일차

오늘의 문제https://www.acmicpc.net/problem/3986오늘은 스택문제 내가 푼 문제 풀이n = int(input())answer = 0for _ in range(n) : stack = [] word = input() for i in word: if stack and stack[-1] == i : stack.pop() else : stack.push(i) if not stack : answer += 1print(answer) 받아서 가장 최근 것과 같을 경우 삭제해가는 방식으로 진행하였다.   회고 스택, 큐 문제는 단골문제라서 다른 유형으로 많이 풀어보고 싶다.주말에 1시간이라도 시간이 난다..

코딩테스트 2025.04.08

하루 코테 1개 풀기 - 향해 3일차

n = 0 이면 무조건 1이다. 를 알 수 있다.여기서 고민이였던 점은 ! 을 문자로 인식해서 어떻게 오른쪽에 몇개, 왼쪽에 몇개를 알아오는 것이였다. from sys import stdinn = int(input())input_line = stdin.read().splitlines()answer = []for i in input_line: left = 0 while left 무식하게 구현해봤다.왼쪽 오른쪽 구현을 구분하는 것을 어떻게 진행할 것인지를 고민을 했다.

코딩테스트 2025.04.02

하루 코테 1개 풀기 - 향해 2일차

https://www.acmicpc.net/problem/10820알파벳관련하여 값을 출력하는 문제이다대소문자 관련한 메소드를 정리해보면1. 대소문자 상호 변환 swapcase()원본을 바꾸지 않는다 2. 대문자 변환 upper(), 대문자인지 확인 isupper()3. 소문자 변환 lower(), 소문자인지 확인 islower() 를 활용해서 문제를 풀면 될거 같다. 추가로 isspace() 공백확인 , isdigit() 숫자확인 이다. 그리고 문제에서 여러줄을 입력받기 때문에 while 문을 돌리던가  stdin.read().splitlines() 을 활용한다.sys.stdin.read().splitlines()파일의 끝까지 한번에 읽어오고 개행문자를 제외하여 리스트로 읽는다.['Hello', 'Ba..

코딩테스트 2025.04.01

하루 코테 1개 풀기 - 향해 1일차

https://www.acmicpc.net/problem/1032풀이:n = int(input())name = list(input())name_len = len(name)for i in range(n - 1): b = list(input()) for j in range(name_len): if name[j] != b[j]: name[j] = '?'print(''.join(name))  1. 나올 문장의 수를 받는다2. 첫번째 문장은 비교할 대상이니 name 배열에 넣는다3. 비교할 대상의 문장 길이를 가져온다.4. for 문을 통해서 첫문장 후의 문장들을 비교한다.5. 두번째문장을 list에 넣고 한 글자씩 비교하여, 일치하지 않으면 ? 을 넣는다6. ? 넣고 ..

코딩테스트 2025.04.01