Programming

Programming/Coding Problem

BOJ 10809번 : 알파벳 찾기

안녕하세요. 지난 포스팅의 BOJ 11720번 : 숫자의 합에서는 문자열로 입력되는 각 숫자들의 합을 계산해보았습니다. 오늘은 문자열 내의 문자가 출현되는 위치를 찾는 방법에 대해서 알아보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 제출 코드 string = input() cnt = [-1] * 26 for idx, s in enumerate(string) : if cnt[ord(s) - 97] == -1 : cnt[ord(s) - 97] = idx else : pass for c in cnt : print(c, end=' ') 해설 이번 문제는 입력되는 문자열의 각 알파벳 소문자가 출현하는 위치를 반환하..

Programming/Coding Problem

BOJ 11720번 : 숫자의 합

안녕하세요. 지난 포스팅의 BOJ 11654번 : 아스키 코드에서는 파이썬의 문자열 자료형의 기본인 아스키 코드에 대해서 알아보았습니다. 오늘도 문자열과 관련된 문제를 풀어보도록 하겠습니다 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 map 함수와 sum 함수 제출 코드 N = input() print(sum(map(int, input()))) 해설 문제에서는 N개의 숫자를 공백없이 입력받게 됩니다. 따라서, 입력된 숫자를 map 함수를 이용해서 정수형 원소를 가지는 iterable 자료형으로 변환한 뒤 sum 함수를 이용해서 각 숫자의 합을 계산합니다. 참고자료 및 그림출처 백준 코딩 문제

Programming/Coding Problem

BOJ 11654번 : 아스키 코드

안녕하세요. 지난 포스팅의 BOJ 1065번 : 한수에서는 복잡한 구현문제를 풀어보았습니다. 오늘부터는 문자열과 관련된 문제들을 풀어보도록 하겠습니다. 오늘은 가장 간단한 아스키코드(ASCII Code)에 대한 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 아스키코드(ASCII Code) 제출 코드 print(ord(input())) 설명 일단, 아스키코드가 무엇인지부터 설명해야겠죠. 아스키코드란 미국정보교환표준부호(American Standard Code for Information Interchange; ASCII)는 영문 알파벳을 사용하는 대표적 문자 인코딩 방식입니다. 현존하는 많은 전..

Programming/Coding Problem

BOJ 1065번 : 한수

안녕하세요. 지난 포스팅의 BOJ 4673번 : 셀프 넘버에서는 구현문제를 풀어보았습니다. 오늘도 마찬가지로 구현문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 1차원 배열 : 리스트 자료형 조건문 반복문 제출 코드 N = int(input()) if N < 100 : print(N) else : cnt = 99 for number in range(100, N + 1) : if 2 * ((number // 10) % 10) == number // 100 + number % 10 : cnt += 1 print(cnt) 설명 이와 같이 수학과 관련된 구현문제를 저희는 이미 BOJ 1110번 : 더하기 사이클와 BOJ 4..

Programming/Coding Problem

BOJ 4673번 : 셀프 넘버

안녕하세요. 지난 포스팅의 BOJ 4344번 : 평균은 넘겠지에서는 1차원 배열을 기반으로 문제를 풀어보았습니다. 오늘은 백준 단계별 문제 풀이에서 함수 카테고리로 오게 되었지만 함수를 사용하지 않고 그냥 반복문, 조건문, 1차원 배열과 같은 기본적인 개념들을 위주로 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 1차원 배열 : 리스트 자료형 조건문 반복문 제출 코드 self_numbers = [1] * 10000 for number in range(1, 10000) : if self_numbers[number] == 0 : continue sequence = number while True : while n..

Programming/Coding Problem

BOJ 8958번 : OX퀴즈

안녕하세요. 지난 포스팅의 BOJ 1546번 : 평균에서는 파이썬의 리스트 자료형과 내장함수인 max() 함수와 sum() 함수를 이용해서 문제를 풀어보았습니다. 오늘은 리스트와 반복문을 활용해서 문자열을 분석하는 방법에 대해서 알아보도록 하겠습니다. 핵심 포인트 1차원 배열 : 리스트 자료형 문자열 내장 함수 : split() 함수와 count() 함수 제출 코드 T = int(input()) for _ in range(T) : quiz = input() score = 0 for s in quiz.split('X') : for i in range(1, s.count('O') + 1) : score += i print(score) 해설 문제의 입력은 첫번째 줄에 테스트케이스의 개수, 두번째 줄부터는 각 ..

Programming/Coding Problem

BOJ 1546번 : 평균

안녕하세요. 지난 포스팅의 BOJ 3052번 : 나머지에서는 반복문과 리스트 자료형을 이용해서 문제를 풀어보았습니다. 특히, 저희는 리스트 압축(list compression)이라는 개념을 통해 여러 줄의 숫자를 하나의 리스트에 저장하는 쉬운 방법을 배웠습니다. 오늘도 역시 리스트 자료형을 활용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 1차원 배열 : 리스트 자료형 파이썬 리스트 함수 : sum() 함수와 max() 함수 제출 코드 N = int(input()) grade = list(map(int, input().split())) max_grade = max(grade) print((sum(grade) / max_grade * 100) / N) 해설 문제의 입력은 첫번째 줄에는 점수의 개수, 두번..

Programming/Coding Problem

BOJ 3052번 : 나머지

안녕하세요. 지난 포스팅의 BOJ 2577번 : 숫자의 개수에서는 1차원 배열을 이용하여 문제를 해결해보았습니다. 이번에도 동일한 문제를 풀어보도록 하죠. 핵심 포인트 반복문 1차원 배열 : 리스트 자료형 제출 코드 numbers = [int(input()) for _ in range(10)] count = [0] * 42 for number in numbers : if count[number % 42] == 0 : count[number % 42] += 1 print(sum(count)) 해설 문제의 입력은 한 줄에 한 개씩 숫자를 입력받습니다. 따라서, 반복문을 이용해서 하나 씩 입력을 받은 뒤 이를 숫자 배열에 담아주면 되겠죠. 파이썬에서는 이러한 리스트를 만드는 데 더욱 짧은 코드를 만들 수 있게..

Johns Hohns
'Programming' 카테고리의 글 목록 (11 Page)