본문 바로가기

알고리즘

(38)
python 백준1157 단어공부(BOJ1157) 문제링크 : https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 반복문과 조건문이랑 파이썬 대문자,소문자변경, 아스키코드 변환 함수정도 알면 쉽게 풀수있을것같다! #입력 input_str = input().upper() #알파벳 alphbet = [0] * 26 for i in input_str: alphbet[ord(i)-65] += 1 max_cnt = 0 max_val = 0 max_index = 0 for i in range(0,len(alphbet)): if alphbet..
python 백준2941 크로아티아 알파벳(BOJ2941) 문제링크 : https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 오랜만에 풀어본 문제.. 사실 이건 replace만 쓸줄아면 되는 문제였다 아무리 게을러져도 이렇게 간단한거라도 하나씩 풀어야되는데~!~!~!~! #입력 input_str = input() #크로아티아 알파벳 cro_alpha = ["c=","c-","dz=","d-","lj","nj","s=","z="] #치환 for i in cro_alpha:..
python 백준2577 숫자의 개수(BOJ2577) 문제링크 : https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 사실 크게 어려운 문제가 아니긴 하지만 가능한 알고리즘을 내 삶 근처에 두고싶어서 풀고있다 이런 문제들이 알고리즘 시작하는 단계에서 풀면 좋을 문제일것같다! 사용하는 언어의 입출력, 문법같은걸 사용해보기에 좋은 문제이기도 하고 쉬운 문제부터 풀면서 자신감도 올라간다! 참고로 저도 위에서 말한 시작하는 단계의 사람입니다.. 다들 화이팅.. import sys input = sys.stdin.readline #a,b,c 입력 a = int(i..
python 백준4673 셀프 넘버(BOJ4673) 문제링크: https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 이문제는 문제자체도 재밌었고 풀이 자체도 간단했다 그래서 딱히 설명할것도 없다~! 그냥 문제 슥 보고 에라 모르겟다~하고 보러온사람~ 돌아가서 다시 풀고오세여~~~~ 난 숫자범위가 10000까지라는걸 알기때문에 리스트 크기를 10000이하의 셀프넘버중 가장 큰 값인 9999의 셀프넘버 10035로 설정했다. 그냥 모든 반복문의 범위를 똑..
python 백준1003 피보나치 함수(BOJ1003) 문제링크 : https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 역시 dp하면 피보나치구나 싶다. dp알고리즘 분류를 보면 피보나치가 엄청 많이 나오는데 아주 피보나치의 단물의 단물까지 쪽~쪽~ 빨아 먹을셈인가보다 근데 난 그 단물 맛좀 보고싶은데 참 쉽지않다 그! 렇! 지! 만! 이번엔 그 단물 맛좀 봤다 피보나치함수를 재귀호출하면 최종적으로 리턴 조건이 0과 1일때인데 주어지는 수가 0과 1을 몇번을 호출하는지 카운트하는 문제였다 이게 무슨일이람 보자마자 바로 이거다! 싶어서 제출했는데 뭐야 예제로 주어진 테스트케이스도 다 맞는데 뭐지?? ..
python 백준2563 색종이(BOJ2563) 문제링크 : https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제는 색종이인데 예시 그림 보면 색이 하나도 없는 그런 문제였다. 나름 재밌는 문제였는데 2007년 초등부 2번문제였다는거에 살짝 현타왔다.. import sys input = sys.stdin.readline #0~100 까지의 가로 세로 좌표 평면 좌표 하나가 넓이 1로 생각 location = [[0] * 101 for _ in range(101)] #매개변수로 받은 좌표에 마킹 ..
python 백준1764 듣보잡(BOJ1764) 문제링크 : https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 이것도 나름 무난무난한 문제였다 그치만 조금 느낌없긴하다 import sys input = sys.stdin.readline n, m = map(int, input().split()) #이름 담길 딕셔너리 name_dic = {} count = 0 for _ in range(n+m): name = input().rstrip() #딕셔너리에 없다면 추가 if name not in na..
python 백준1966 프린터 큐(BOJ1966) 문제링크 : https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 구현문제는 아직 어려운걸 풀지않아서 그런지 코딩할때 귀찮음이 좀 큰것같다..나중에 정말 어려운거 만나면 멘붕오겠지? 이 문제도 내용자체는 어렵지않은데 뭔가 코드가 깔끔하지않다.. 하지만 실행 속도도 크게 뒤쳐지지않아서 이정도로 만족하고 넘어가려고한다 다음에 다시 본다면 느낌있게 수정해봐야지 from collections import deque import sys input = sys.st..