반응형

문자열 27

백준 BAEKJOON 32778번 가희와 부역명 [PYTHON/파이썬]

백준 BAEKJOON 32778번 가희와 부역명 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32778        먼저 부역명이 있는지 없는지 확인하는 if 문을 작성했다.문자열 내에 괄호가 있다면 부역명이 있는 거니까index를 활용하여 '('와 ')'의 위치를 찾아낸 뒤에문자열 슬라이스를 통해 역명과 부역명을 출력하였다.        name = input()if "(" in name: start, end = name.index("("), name.index(")") print(name[: start - 1]) print(name[start + 1 : end])else: # 부역명이 없다면 print(name + "\n-")

ALGORITHM/PYTHON 2025.01.26

백준 BAEKJOON 1919번 애너그램 만들기 [PYTHON/파이썬]

백준 BAEKJOON 1919번 애너그램 만들기 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/1919       첫째 줄과 둘째 줄에 입력되는 영어 단어의 알파뱃 개수를 세는 방법으로 문제에 접근했다.길이가 26인 리스트를 만든 후 ord()를 활용하여 주어지는 알파뱃의 아스키코드를 확인하여각 알파뱃들이 몇 번 등장하는지 리스트 형태로 구현했다.그리고 만들어진 두 개의 리스트를 0번째 인덱스부터 비교하여알파뱃 개수가 다르다면 그 개수의 차이만큼 결과값에 더해준 뒤 출력해 줬다.      def checkAlpha(x): lst = [0] * 26 for i in x: lst[ord(i) - 97] += 1 return ls..

ALGORITHM/PYTHON 2024.12.28

백준 BAEKJOON 32280번 지각생 [PYTHON/파이썬]

백준 BAEKJOON 32280번 지각생 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/32280        처음엔 교실에 들어온 시각을 전부 분(min) 형태로 치환을 해줄까 했지만그냥 문자열 그대로 대소 비교를 해주니 원하는 결과를 얻을 수 있었다.문제의 조건에 따라 학생들의 도착 시간이정해진 등교 시간과 선생님이 도착한 시간보다 크거나 같을 때가 지각이기에if 문을 통해 결과값에 더했다.       N = int(input())timeTable = []teacherTime = ""for _ in range(N + 1): a, b = input().split() if b == "teacher": # 선생님 도착 시간 tea..

ALGORITHM/PYTHON 2024.09.29

백준 BAEKJOON 32132번 PlayStation이 아니에요 [PYTHON/파이썬]

백준 BAEKJOON 32132번 PlayStation이 아니에요 [PYTHON/파이썬] (BRONZE Ⅰ)https://www.acmicpc.net/problem/32132      단순하게 문자열을 바꾸면 된다고 생각해서 replace()를 사용하여 풀었다.문제를 푸는 과정에서 replace를 여러개 사용할 수 있다는 것도 알게 되었다.      N = int(input())word = input()while True: if "PS4" in word or "PS5" in word: word = word.replace("PS4", "PS").replace("PS5", "PS") else: breakprint(word)

ALGORITHM/PYTHON 2024.09.02

백준 BAEKJOON 31859번 SMUPC NAME [PYTHON/파이썬]

백준 BAEKJOON 31859번 SMUPC NAME [PYTHON/파이썬] (BRONZE Ⅰ)https://www.acmicpc.net/problem/31859        # 1for 문과 if 문을 활용하여 출전자의 영어 이름에서 알파벳이 중복되지 않도록 추출했다.그 동시에 버려진 문자를 세어줬다. # 2, 3버려진 문자의 개수에 4를 더한 값을 문자열 맨 뒤에 붙였다.그리고 출전 번호에 1906을 더한 값을 맨 앞에 붙였다. # 4[::-1]를 사용하여 문자열을 뒤집은 뒤문자열 맨 앞에 "smupc_"를 붙여줬다.     N, Name = input().split()result = ""# 1abandonedText = 0 # 버려진 문자for i in Name: if i not in res..

ALGORITHM/PYTHON 2024.07.03

백준 BAEKJOON 31844번 창고지기 [PYTHON/파이썬]

백준 BAEKJOON 31844번 창고지기 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/31844       박스를 원하는 칸으로 이동시키기 위해서는로봇의 위치 혹은 깃발의 위치 가 성립해야 한다.성립하지 않으면 박스를 원하는 칸으로 옮길 수 없기 때문에 -1을 출력한다. 로봇의 첫 번째 명령은 박스의 위치 한 칸 전까지 이동해야 하니박스의 위치에서 로봇의 위치를 뺀 뒤 또 1을 빼줘야 한다. 로봇의 두 번째 명령은 박스를 미는 행위이기 때문에깃발의 위치에서 박스의 위치를 빼주면 된다. 이 두 가지 명령의 횟수를 더해주면 결과를 출력할 수 있다.       storage = list(input())robot = storage.index("@") # ..

ALGORITHM/PYTHON 2024.07.02

백준 BAEKJOON 31867번 홀짝홀짝 [PYTHON/파이썬]

백준 BAEKJOON 31867번 홀짝홀짝 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/31867        주어진 정수에 홀수와 짝수의 개수를 세어주면 된다.홀수가 짝수보다 많다면 1을 출력짝수가 홀수보다 많다면 0을 출력그렇지 않다면 -1을 출력하면 된다.      N = int(input())K = input()odd, even = 0, 0for i in K: if int(i) % 2 != 0: odd += 1 else: even += 1if odd > even: print(1)elif odd

ALGORITHM/PYTHON 2024.06.03
반응형