일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 그래프 탐색
- 딕셔너리
- DP
- level2
- 브루트포스 알고리즘
- BASIC
- JavaScript
- CSS
- 문자열
- web
- 너비 우선 탐색
- 그래프이론
- 스택
- 프로그래머스스쿨
- 다이나믹 프로그래밍
- DFS
- 프로그래머스
- 그리디 알고리즘
- 자바스크립트
- 자료구조
- 웹 프론트엔드
- BFS
- 그래프 이론
- 파이썬
- 정렬
- 구현
- 알고리즘
- 백준
- programmers
- lv2
- Today
- Total
목록문자열 (7)
DevLog:-)

문제 코드 while(1): n = int(input()) while(n>9): n = sum(map(int,list(str(n)))) print(n) if n == 0: break 123 숫자→”123” 문자열 →[”1”,”2”,”3”] 리스트 → 1,2,3 숫자리스트→sum합 → n에 담김 ⇒반복합니다.👍

문제 코드 n = int(input()) books = {} for _ in range(n): book = input() if book not in books: books[book] = 1 else: books[book] += 1 M = max(books.values()) arr = [] for book, n in books.items(): if M==n: arr.append(book) arr.sort() print(arr[0]) 코멘트 딕셔너리를 사용해서 풀었다. key : 책 이름, value : 팔린 개수 max를 이용해서 가장 많이 팔린 수를 찾고 해당하는 책 이름을 배열로 저장한 후 오름차순 정렬 첫번째 책이름을 출력했다.

문제 코드 import sys eng = 'abcdefghijklmnopqrstuvwxyz' num = [] s = sys.stdin.read() for i in eng: num.append(s.count(i)) m = max(num) for i in range(len(num)): if m == num[i]: print(chr(i+97), end = '') #chr(97) = 'a' # 아스키코드에 해당되는 문자로 변환 코멘트 문제 이해 가장 많이 나온 문자를 출략하면 되는 문제이다. 접근 방식 알파벳을 담은 문자열을 만들고 입력받은 문자열에 몇 개씩 들어있는지 순서대로 num 리스트에 append 한다. 가장 많은 숫자가 들어있는 num의 인덱스를 아스키토드를 이용해서 문자로 변환 후 출력한다. -sy..

문제 코드 def solution(s): answer = [] d = {a:-1 for a in s} for i in range(len(s)): if(d[s[i]]==-1): answer.append(-1) else: answer.append(i-d[s[i]]) d[s[i]]=i return answer 코멘트 딕셔너리를 이용해서 이전 단어의 위치와 해당 위치의 차를 구해 answer에 append하였다.

문제 코드 import sys N,M = map(int,sys.stdin.readline().strip().split()) arr = [] for i in range(N): arr.append(list(map(str,sys.stdin.readline().strip()))) answer='' sum =0 for i in range(M): map ={"A":0, "C":0,"G":0 ,"T":0} for j in range(N): map[arr[j][i]] +=1 m = max(map,key=map.get) answer+=m sum += (N- map[m]) map.clear print(answer) print(sum) #answer=[](append)와 answer=""(+=)의 차이 코멘트 문제를 한 번..

문제 코드 1. import sys A,B = sys.stdin.readline().strip().split() min = len(B) for i in range(len(B)-len(A)+1): count =0 for j in range(len(A)): if(A[j]!=B[i+j] and i+j count): min =count print(min) 2. import sys A,B = sys.stdin.readline().strip().split() answer =[] for i in range(len(B)-len(A)+1): count =0 for j in range(len(A)): if(A[j]!=B[i+j] and i+j < len(B)): count+..

문제 코드 import sys arr = sys.stdin.readline().strip() A = "z"*len(arr) for i in range(1,len(arr)-1): for j in range(i+1,len(arr)): a = arr[:i][::-1] b = arr[i:j][::-1] c = arr[j:][::-1] B =a+b+c if(A>B):A=B #A =min(A,B) print(A) 발생한 오류 제출 후 발생한 오류는 range의 범위로 인한 오류였다. range(0, len(arr)-1)로 두었고 반복문이 0부터 시작하니까 첫 번째 문자를 고려하지 않는 오류가 발생했다. 따라서 range(1,len(arr)-1)로 변경하였다.