Python/online judge 51

백준[1357.뒤집힌 덧셈] | Python

✏️ 문제https://www.acmicpc.net/problem/1357 ✏️ 풀이방법1. 역순으로 x,y 를 더한 result를 다시 역순으로 출력한다. 2. 다만 100을 뒤집어 출력하면 001이 아닌 1로 출력되어야해서 반복문으로 최종결과의 문자열의 마지막이 0인경우 지워줬다. 📌 코드a,b = map(str,input().split())a = a[::-1]b = b[::-1]result =str(int(a)+int(b))while(result.endswith('0') == True): result = result[:-1] if result.endswith('0') == False: breakprint(result[::-1]) 📌 결과123 100 #입력22..

Python/online judge 2025.05.13

백준[2145.숫자 놀이] | Python

✏️ 문제https://www.acmicpc.net/problem/2145 ✏️ 풀이방법1. n 리스트에 주어진 숫자를 입력한다.2. 마지막 입력이 0 일 경우 종료할 수 있도록 반복문을 빠져나온다.3. 그렇지 않다면 문자의 길이가 1이 될 때 까지 숫자의 합을 반복한다. 📌 코드while(True): n = list(map(int,input())) if n[0] == 0: break else: if len(str(sum(n))) ==1: print(sum(n)) else: while(True): n = list(map(int,str(sum(n)))) ..

Python/online judge 2025.05.13

프로그래머스 [ 진료순서 정하기 ] | Python

✏️ 문제https://school.programmers.co.kr/learn/courses/30/lessons/120835 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  ✏️ 풀이방법1.  answer 배열 0 으로 초기화2.  max함수를 통해 진료순서가 가장 큰 사람의 인덱스를 찾아서 answer배열을 순서대로 증가시킴  📌 코드def solution(emergency): answer = [0] * len(emergency) for i in range(1,len(emergency)+1): answer[emergency.index(max(emergency))] = ..

Python/online judge 2025.03.06

프로그래머스 [ 홀수 VS 짝수 ] | Python

✏️ 문제https://school.programmers.co.kr/learn/courses/30/lessons/181887 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  ✏️ 풀이방법1.  리스트 길이만큼 반복문 실행2.  짝수번째에 위치한 원소와 홀수번째에 위치한 원소들의 각각의 합 구하기3.  각각의 합 중 큰 원소 출력  📌 코드def solution(num_list): cnt1,cnt2 = 0,0 for i in range(len(num_list)): if i%2 == 0: cnt1 += num_list[i] else: ..

Python/online judge 2025.03.06

백준[10828.스택] | Python

✏️ 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net ✏️ 풀이방법 1. 입력하는 값이 많기 때문에 input()이 아닌 sys.stdin.readline()을 통해 입력을 받는다. 2. if-elif문을 사용하여 FILO(First In Last Out)으로 작성한다. 📌 코드 import sys n = int(sys.stdin.readline()) stack = [] for i in range(n): s = sys.s..

Python/online judge 2024.03.11

백준 [11728.배열 합치기] | Python

✏️ 문제 https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net ✏️ 풀이방법 1. 배열 A,B를 하나의 리스트에 append가 아닌 extend로 담는다. 📌 코드 n,m = map(int,input().split()) sumlist = [] for i in range(2): sumlist.extend(list(map(int,input().split()))) sumlist.sort() print(*sumlist)..

Python/online judge 2024.03.08

백준 [7785.회사에 있는 사람] | Python

✏️ 문제 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net ✏️ 풀이방법 1. 집합(log) 안에 없는 이름이면 새로 추가하고, 존재하는 이름이면 해당 이름을 삭제 📌 코드 n = int(input()) log = set({}) cnt = 0 while True: i = input().split()[0] if i not in log: log.add(i) else: log.remove(i) cnt +=1 i..

Python/online judge 2024.03.07

백준 [9093.단어 뒤집기] | Python

✏️ 문제 https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net ✏️ 풀이방법 1. sentence에 리스트로 각 문자열을 담는다. 2. 리스트의 원소 하나씩 거꾸로 출력한다. 📌 코드.1 -문자열 슬라이싱을 활용한 풀이 t = int(input()) sentence = [list(map(str,input().split())) for _ in range(t)] for i in range(t): resentence = [] for j in ra..

Python/online judge 2024.02.16

백준 [10809.알파벳 찾기] | Python

✏️ 문제https://www.acmicpc.net/problem/10809 ✏️ 풀이방법1. 백준 10808 알파벳개수에서 변형된 문제로 풀이는 유사하다. 다만 개수가 아닌 위치 인덱스 값을 출력한다.2. baekj'oo'n과 같이 중복된 경우를 유의해야한다.3. 중복을 제거하려고 set과 dict.fromkeys를 활용했지만 글자수의 길이 자체가 달라져 위치가 달라지는 문제가 발생한다.4. 이에 contain의 초기에 집어넣은 값인 -1일때만 위치를 넣어 처음 위치의 값이 들어갈 수 있도록 하였다. 📌 코드s = input()alp = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','..

Python/online judge 2024.02.16

Softeer [level2.전광판] | Python

✏️ 문제https://softeer.ai/practice/6268 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai  ✏️ 풀이방법1. 2차원리스트(light)에 디지털 숫자(0~9)와 불이 들어오지 않았을 때를 표기할 수 있는 방법을 담는다. 0은 꺼져있는 전구, 1은 켜져있는 전구를 의미한다.- 숫자로 담는 것 보다 문자열로 담는 것이 활용할 수 있는 메소드가 많기때문에 문자열로 담았다.2. 전광판에 표시되는 디지털 숫자는 5개이기 때문에 두 자연수 a,b를 원소의 개수가 5개로 지정된 리스트에 담고 왼쪽부터 비어있는 자리는 '!로 대체해서 불이 들어오지 않은 것을 표기해준다.- 예를 들어 자연수 1이면 ! ! ! ! 1로 표기해서 !는 전광판에 불이 들어오지 않은것을 알려준다...

Python/online judge 2024.02.02