반응형
반응형
프로그래머스(programmers)와 백준(baekjoon) 에서 코딩테스트 연습했던 것들을 블로그에 작성하는 게 조금 번거로울때가 있었는데 백준허브를 사용하면 풀었던 문제들이 Github에 자동으로 커밋된다. 백준 허브는 chrome에서 지원하는 확장프로그램으로 크롬 환경에서 진행해야 한다. 백준 허브 chrome 확장 프로그램 설치 https://chromewebstore.google.com/detail/%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8Cbaekjoonhub/ccammcjdkpgjmcpijpahlehmapgmphmk?hl=ko 백준허브(BaekjoonHub) Automatically integrate your BOJ submissions to GitHub chrome.g..
문제 풀이 먼저 입력을 받을 횟수의 값을 입력받고 입력받은만큼 문자열을 입력받아서 count에 횟수 값을 넣어준다if 문을 활용하여 앞뒤로 같으면 continue 시키고 만약 앞뒤로 같은 문자가 온게 아닌 상황에서 문자열에 같은 문자가 온다면 -1을 해주고 break를 통해 빠져나오게 한다. N = int(input()) # 입력받을 횟수 값 count = N for i in range(N): str = input() for j in range(0,len(str)-1): if str[j] == str[j+1]: # 앞뒤로 같으면 continue continue elif str[j] in str[j+1:]: # 앞뒤로 같은 문자가 오지 않은 상황에서 또 같은 문자가 오면 count -= 1 # count ..
문제 replace는 문자열을 변경하는 함수. 문자열 안에서 특정 문자를 새로운 문자로 변경 풀이 처음에는 입력받은 문자열에서 리스트에 있는 값에 해당하는 것을 카운트하고 삭제 시킨다음에 나머지 문자열을 len함수를 써서 개수를 합칠까를 고민했었는데 그냥 문자열에서 해당하는 값을 단어하나로 대체하고 전체를 카운트하면 간단한 문제였다.. str = input() alphabet = ['c=','c-','dz=','d-','lj','nj','s=','z='] for i in alphabet: str = str.replace(i,'a') print(len(str)) https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 ..
문제 # 알파벳 대소문자로 된 단어가 주어지면 그 중에서 가장 많이 사용된 알파벳을 알아내는 문제 # 대소문자 구분X# 많이 사용된 알파벳이 여러개 존재하는 경우에는 "?"를 출력# 여러개가 아닌 경우에는 가장 많이 사용된 알파벳(대문자) 출력 풀이 set 함수 : 순서가 없고 고유한 값을 가지기 때문에 중복이 불가능 str = input().upper() alphabet = list(set(str)) # 입력받은 값들을 중복없이 고유한 값들만 뽑아서 리스트로 만들어 저장 list = [] for i in alphabet: cnt = str.count(i) list.append(cnt) if list.count(max(list)) > 1: # 리스트 안에 가장큰 수가 1개 이상일 경우 ? 출력 print..
문제 풀이 str = list(input()) if str == list(reversed(str)): print(1) else: print(0) 🧸코멘트🧸 reversed()와 reverse() 차이를 정리해둬야겠다. 찾아봤을때는 reversed()는 잠시 변환하는 느낌이였고 reverse()는 아예 바꿔버리는 함수여서 원본을 그대로 둬야하는 상황이면 reverse()를 사용하지 않는 편이 좋다는 차이점이였는데 자세히 알아봐야지 https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net
문제 풀이 n = int(input()) for i in range(1, n + 1): print(" " * (n - i) + "*" * (2 * i - 1)) for j in range(n-1, 0, -1): print(" " * (n - j) + "*" * (2 * j - 1)) https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net