https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 내 풀이 from itertools import combinations_with_replacement as cr n,m = map(int,input().split()) lst = [i+1 for i in range(n)] result = list(cr(lst,m)) for item in result: print(*item) 바로 이전 게시물에서 공부한 중복 조합으로 풀어주었다. 중복 조합 관련 ..
https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 나의 풀이 s = input() dic ={'A':2,'B':2,'C':2,'D':3,'E':3,'F':3,'G':4,'H':4,'I':4,'J':5,'K':5,'L':5,'M':6,'N':6,'O':6,'P':7,'Q':7,'R':7,'S':7,'T':8,'U':8,'V':8,'W':9,'X':9,'Y':9,'Z':9} sum = len(s) for i in range(len(s)): sum+=dic[s[i]] print(sum) 나는 그냥 딕셔너리에 다 저장해서 풀었다. 다른 ..
https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 나의 풀이 n,m = input().split() rev_n ="" rev_m ="" for i in range(3): rev_n+=n[2-i] rev_m+=m[2-i] if int(rev_n)>int(rev_m): print(rev_n) else: print(rev_m) 그냥 두 숫자를 문자열로 받고 각각 rev_n과 rev_m에 거꾸로 저장해서 비교해서 출력했다. 다른분들은 max함수 쓴 사람도 많은듯!!
https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 분명 쉽게 푸는 법이 있을텐데 .. 하는데 관련 함수가 index()랑 find() 밖에 없었다 ㅠㅠ replace 진짜 많이 쓰는 건데 왜 생각이 안났을까 .. ㅠ count도 .. 문자열에서 크로아티아 알파벳을 삭제하는 방식으로 풀었는데 이문제는 그렇게 풀면 절대 안되는 문제였다. ndz=j와 같은 반례때문.. 그래서 시도는 실패하고 인터넷 보고 repla..
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 나의 코드 import sys arr = [] for i in range(int(sys.stdin.readline())): arr.append(list(map(int,sys.stdin.readline().split(' ')))) arr.sort(key = lambda x:(x[1],x[0])) for i in range(len(arr)): ..
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 나의 코드 #입력받은 문자열 저장 리스트 arr = [] #입력받은 숫자만큼 문자열 입력받고, for i in range(int(input())): s = input() #입력받은 문자열과 중복되는 문자열이 arr에 없으면 if s not in arr: #arr에 문자열 삽입 arr.append(s) #문자열의 길이 저장 배열 length = [len(item) for item in a..
https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 나의 코드 print("".join(sorted([item for item in input()],reverse = True))) 한줄 코딩 성공 :) join은 리스트 원소들을 한 방에 합칠 수 있어서 너무 좋은 메소드 같다. 다른 사람 코드 print(''.join(sorted(input())[::-1])) 오,, 문자열은 리스트에 넣지 않고 sorted로 바로 정렬할 수 있는데 까먹었다 ,,
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이 n = int(input()) for i in range(n): str = input() for j in range(len(str)-1): if str[j] != str[j+1]: if str[j] in str[j+1:]: n-=1 break; print(n) 바로 다음 인덱스와 해당 인덱스의 문자가 일치하는지 비교하고, 일치하면 그냥 넘어감. 일치하지 않으면..
- Total
- Today
- Yesterday
- brute force
- javascript
- 장고
- append
- CSS
- jQuery
- 덱
- jsp
- 프로그래머스
- 파이썬
- 단계별로풀어보기
- web
- Oracle
- html
- 브루트 포스
- python
- 큐
- 자바
- Django
- 고득점 키트
- 문자열
- 백준
- 스프링
- 정렬
- Java
- bootstrap
- Case When
- R
- baekjoon
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |