[백준] 3059번 등장하지 않는 문자의 합 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/3059 3059번: 등장하지 않는 문자의 합 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 www.acmicpc.net 풀이 이중 for문을 이용하여 문제를 풀어주었습니다. 문자를 아스키 코드로 변환하려면 ord( )를 이용하면 됩니다. 반대로 아스키코드를 문자로 변환하려면 chr( )을 이용하시면 됩니다. # 3059번 등장하지 않은 문자의 합 n = int(input()) for _ in range(n): word = input() ans =0 for i in range(65, 91): if ch..
[백준] 10987번 모음의 개수 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/10987 10987번: 모음의 개수 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 모음(a, e, i, o, u)의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 count( ) 메소드를 이용하여 풀어주었습니다. # 10987번 모음의 개수 vow = ['a','e','i','o','u'] word = input() ans = 0 for i in vow: ans += word.count(i) print(ans) 출력결과
[백준] 10821번 정수의 개수 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/10821 10821번: 정수의 개수 숫자와 콤마로만 이루어진 문자열 S가 주어진다. 이때, S에 포함되어있는 정수의 개수를 구하는 프로그램을 작성하시오. S의 첫 문자와 마지막 문자는 항상 숫자이고, 콤마는 연속해서 주어지지 www.acmicpc.net 풀이 문자열은 콤마로 이루어져있다. split( )을 이용해서 문자열에서 콤마를 기준으로 나누어서 리스트에 담아주자. 10821번 정수의 개수 nums = input().split(',') print(len(nums)) 출력결과
[백준] 1120번 문자열 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 풀이 길이가 다른 두 문자열 A와 B가 주어집니다. 다만 문자열 A의 길이는 문자열 B의 길이와 같거나 작습니다. 고로 문자열 A를 이동시켜가면서 문자열 B와 비교해주면 됩니다. for문을 통해서 비교하는 문자열 B의 인덱스의 시작값을 1씩 늘려가면서 문자열 A와 비교해줍니다. # 1120번 문자열 a, b = input().split() ans = 51# ..
[백준] 9093번 단어뒤집기 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 풀이 슬라이싱을 통해서 문자열을 뒤집어서 출력해주었습니다. # 9093 단어 뒤집기 import sys n = int(sys.stdin.readline()) for _ in range(n): words = sys.stdin.readline().split() for args in words: print(args[::-1], end=' ') print() 출력결과
[백준] 2292번 벌집 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 풀이 주어진 벌집의 모양은 1을 중심으로 6의 배수 개의 방의 둘러싼다. 6의 배수를 증가시키는 cnt를 증가해가면서 주어진 n이 1이되거나 그 이하가 될 때까지 진행한다. 1: 1개의 칸만 이동하면 됨 2~7: 2개의 칸만 이동하면 됨 8~19: 3개의 칸만 이동하면 됨 20~37: 4개의 칸만 이동하면 됨 ..... # 2292번 벌집 n = int(input()) if n == 1: print(1) ..
[백준] 3273번 두 수의 합 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 풀이 투 포인터 알고리즘을 이용하여 풀어주면 됩니다. 투포인터를 사용하기 위해 주어진 수열을 정렬해야한다는 것을 잊지말아야합니다. # 3273번 두 수의 합 n = int(input()) nums = list(map(int, input().split())) nums.sort() key = int(input()) left, right = 0, ..
[백준] 3009번 네 번째 점 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 풀이 x, y 좌표를 갖고있는 세 점이 주어진다면 주어진 x, y 좌표 중에서 1개 밖에 안나온 좌표가 네 번째 점의 x, y 좌표이다. # 3009번 네 번째 점 x_li = [] y_li = [] for _ in range(3): x, y = map(int, input().split()) x_li.append(x) y_li.append(y) for i in range(3): if x_li.count(x_li[i]) == 1: x_ans = x_li[i] if y_li.cou..
개발자 성현
개발새발 블로그