백준
-
백준 2941번 : 크로아티아 알파벳(Python,파이썬)카테고리 없음 2018. 12. 26. 16:58
12345678910111213141516171819202122232425word = list(' '.join(input()).split())num = len(word)for i in range(len(word)-1): for j in range(i+1,i+2): if word[i] + word[j] =='c=': num-= 1 elif word[i] + word[j] =='c-': num-= 1 elif word[i] + word[j] =='d-': num-= 1 elif word[i] + word[j] =='lj': num-= 1 elif word[i] + word[j] =='nj': num-= 1 elif word[i] + word[j] =='s=': num-= 1 elif word[i] + wor..
-
백준 2908번 : 상수(Python,파이썬)카테고리 없음 2018. 12. 25. 22:14
1234567nums = list(map(int,list(input().split(' '))))first_num = 100*(nums[0] % 10) + ((nums[0] % 100) - (nums[0] % 10)) + (nums[0] // 100)second_num = 100*(nums[1] % 10) + ((nums[1] % 100) - (nums[1] % 10)) + (nums[1] // 100)if first_num > second_num: print(first_num)else: print(second_num)Colored by Color Scriptercs숫자를 입력받아 숫자들을 자릿 수 단위로 하나하나 분해한 뒤, 거꾸로 배치하는 코드를 짰다. 일단 제출해서 정답인데 다른 사람들의 코드를 보니..
-
백준 2920번 : 음계(Python,파이썬)카테고리 없음 2018. 12. 24. 22:48
123456789digits = list(map(int,input().split(' ')))ascending = [1,2,3,4,5,6,7,8]descending = [8,7,6,5,4,3,2,1]if digits == ascending: print('ascending')elif digits == descending: print('descending')else: print('mixed')csascending와 descending에 해당하는 리스트를 각각 만들어둔다.그 후 입력한 숫자 배열의 리스트가 ascending, descending 두 가지 경우에 일치하지 않으면 mixed의 경우로 넘어가도록 한다.
-
백준 4673번 : 셀프 넘버 (Python,파이썬)카테고리 없음 2018. 12. 24. 21:34
123456789num = set(range(1,10001))generated_num = set()for i in range(1,10001): for j in str(i): i += int(j) generated_num.add(i)self_num = num - generated_numfor k in sorted(self_num): print(k)cs for 문의 in 부분에 문자열 자체를 넣을 수 있다는 사실을 처음 알았다(3줄).리스트에 새로운 요소를 추가하는 함수는 append() 함수이다. 하지만 set()를 이용해 만든 집합에는 add() 함수를 써 새로운 요소를 추가해야 하는 것을 알았다(6줄)이러한 사실들을 잘 활용해보았다. 1부터 10000까지 전부 생성자로서 활용하여 새로운 수를 만든다. ..
-
백준 1157번 : 단어공부 (Python,파이썬)카테고리 없음 2018. 12. 24. 02:44
요렇게 생긴 문제이다.123456789101112word = (' '.join(input().upper()).split(' '))word_two = list(set(word))cnt = []for j in range(len(word_two)): cnt.append(0)for i in word: if i in word_two: cnt[word_two.index(i)] += 1if cnt.count(max(cnt)) == 1: print(word_two[cnt.index(max(cnt))])elif cnt.count(max(cnt)) >= 2: print('?')Colored by Color Scriptercs더 간단하고 쉽게 풀 수 있었는데 너무 어렵게 풀었다. 어렵게 푼 나머지 설명 글도 잘못 적겠다.혹..
-
백준 2675번 : 문자열 반복 (Python,파이썬)카테고리 없음 2018. 12. 24. 01:37
요렇게 생긴 문제이다.123456789T = int(input())for i in range(T): result = [] RS = input().split(' ') R = int(RS[0]) S = ' '.join(RS[1]).split(' ') for j in S: result.append(j*R) print(''.join(result))cs별로 고민한 문제는 아니었다. 문제 지시대로 잘 따라 입력하고 가공하기 쉽게 입력된 자료를 잘 '분해'(split 함수 활용) 해야 한다.분해해서 조건에 맞게 가공한 다음 '합쳐'(join 함수 활용) 출력하면 된다.
-
백준 10809번 : 알파벳 찾기 (Python,파이썬)카테고리 없음 2018. 12. 24. 00:54
1234567891011alpha_bet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']alpha_bet_two = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']word = ' '.join(input()).split()index = 0for i in alpha_bet: if i in word: alpha_bet[alpha_bet.index(i)] = str(word.index(i))for i in alpha_bet: if..