반응형

문자열 34

백준 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

백준 BAEKJOON 31832번 팀명 정하기 2 [PYTHON/파이썬]

백준 BAEKJOON 31832번 팀명 정하기 2 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/31832       처음엔 for 문 안에서 세 가지 조건을 다 대입하려다가조건이 꼬여서 히든 케이스를 잡지 못했다.결국에는 조건 하나하나마다 함수를 만들어서 풀게 되었다.함수를 통해 세 가지 조건 모두 참인 팀명이 정답이 되는 것이다. ※ 알파벳 대문자, 알파벳 소문자, 숫자, 하이픈의 아스키코드는 각각 65-90, 97-122, 48-57, 45이다.  첫 번째 조건, 대문자가 소문자보다 많으면 안 된다.결국 소문자는 대문자보다 크거나 같아야 한다.나는 for 문과 ord 함수를 사용하여 대문자와 소문자 개수를 파악하였다.  두 번째 조건, 팀명은 10..

ALGORITHM/PYTHON 2024.06.02

백준 BAEKJOON 31833번 온데간데없을뿐더러 [PYTHON/파이썬]

백준 BAEKJOON 31833번 온데간데없을뿐더러 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/31833      A와 B를 문자열인 리스트로 입력을 받은 후join 함수를 사용하여 합친 문자열을 만들었다.그리고 다시 int 형으로 변환 시켜준 뒤if 문을 사용하여 A와 B를 비교하여 작은 값을 출력하였다.      N = int(input())A = int("".join(input().split()))B = int("".join(input().split()))if A

ALGORITHM/PYTHON 2024.05.24

백준 BAEKJOON 31822번 재수강 [PYTHON/파이썬]

백준 BAEKJOON 31822번 재수강 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/31822       재수강할 과목 코드의 앞 5자리가 일치하는지 확인 후결괏값에 더해준 뒤 재수강으로 인정되는 과목의 개수를 출력하면 된다.       subjectCode = input()N = int(input())result = 0for _ in range(N): availableCode = input() if subjectCode[:5] == availableCode[:5]: result += 1print(result)

ALGORITHM/PYTHON 2024.05.22
반응형