
파이썬에서 보통 입력을 input()으로 받지만 시간을 줄여야할때 sys.stdin을 사용한다. sys.stdin과 sys.stdin.readline()의 차이가 뭔지 궁금해서 쓰는 포스팅 sys.stdin import sys for line in sys.stdin: print(line) 결과 여기서 다른 인풋을 더 줘도 계속 그 줄 전체가 통으로 프린트된다. 타입을 찍어보니 sys.stdin.readline() import sys for each in sys.stdin.readline(): print(each) 결과 한 줄에 있는 애들이 각각 프린트된다. 타입은 스트링으로 저장됨 한줄을 받은 상황에서 다른 인풋을 더 받지 않는다

문제 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 combinations을 사용해서 가능한 길이의 단어를 전부 다 구한 후, 조건에 맞는 애들만 프린트하는 방식으로 짰다. 모음이 최소 1개, 자음이 최소 2개이므로 모음은 최소 1개 ~ 최대 전체-2개 import sys from itertools import combinations L, C = map(int, sys.stdin.readline().split()) alphabets = sorted(list(map(str, sys.stdin.readline(..

문제 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 www.acmicpc.net 풀이 처음에 생각한 방법은 쭈르륵 배열에 넣고 커서의 위치를 인트형 인덱스로 따로 관리하는것. 근데 시간제한이 엄청 빡빡한 문제였다. 따라서 왼쪽, 오른쪽 스택 두개를 만들어서 사용하고 그 사이를 커서의 위치로 생각하고 풀었다. 첫번째 시도 lstack = [] rstack = [] init = input() for each in init: lstack.append(each) N = int(input()) for _ in range(N): cmd = in..

사용자의 비밀번호를 암호화하지 않고 스트링 그대로 저장하는것은 위험하다. 졸업프로젝트를 진행할때는 MD5 방법을 사용했었는데, 안전한 비밀번호 저장에 대해 알아보다가 단방향 암호화 방법의 문제점을 알게되었다. 먼저, 동일한 메시지가 언제나 동일한 다이제스트를 갖기때문에, brute force방법으로 모든 문자열을 암호화한 후 비교해보면 바로 기존 비밀번호가 뭔지 알게 된다. 또한, 짧은 시간대에 데이터를 검색하기 위해 설계된 해시 함수를 사용하기 때문에 처리 속도가 아주 빠르다. 이는 유저뿐만 아니라 해커에게도 좋은 점인데 비밀번호를 알아내기 위해 일치 여부를 확인해볼때, 한번의 시도에 걸리는 시간이 적으니 많은 시도를 해볼 수 있다. 위의 문제점을 해결하기 위한 방법은 솔팅(salting)과 키 스트레..

옛날에 프래그먼트를 교체하는 방법으로 탭 구조를 구현하는 포스팅을 했었는데 [Android][Kotlin] Fragment 설정, Fragment to Activity 화면 전환 - fragment 적용 탭(tab)형식 UI를 사용하려하는데 fragment가 가장 적합해서 적용해봤다 fragment 2개 먼저 생성 후 import android.content.Context import android.content.Intent import android.os.Bundle i.. yuuj.tistory.com 두번째 탭을 누른 후, 물리 뒤로가기키를 누르면 탭과 하단 프래그먼트 짝이 맞지 않는다는점, 첫번째 탭에서 물리 뒤로가기를 누를 경우 하단 프래그먼트가 공백으로 비워진다는 문제가 생겨서 새로운 방법을 ..

이미지뷰의 코너를 둥글게 해주는 코드 새로운 drawable 생성해주기 둥글게 하고 싶은 이미지뷰의 백그라운드에 아까 생성한 drawable을 설정해주고 setClipToOutline()을 해주면 된다 // 코너 라운딩 (radius: 10dp) IMAGEVIEW.background = getResources().getDrawable(R.drawable.imageview_cornerround, null) IMAGEVIEW.setClipToOutline(true)
- Total
- Today
- Yesterday
- 안드로이드
- 백준알고리즘
- TextFormField keyboard
- counting sort
- 파이썬 최대공약수
- 소수 구하기 파이썬
- 카카오톡으로 로그인 오류
- Kotlin
- 코틀린 바텀네비게이션
- 카카오 키해시
- 백준 2003
- flutter simultor
- 코틀린 뷰페이저
- 백준 1644
- 백준 1806
- 코틀린 리스트뷰
- 데이터바인딩 뷰바인딩 차이
- kotlin fragment
- 전화번호목록 파이썬
- 코틀린 뷰바인딩
- 투포인터 알고리즘
- 코틀린
- 투포인터 알고리즘 파이썬
- 프로그래머스
- 시뮬레이터 키보드
- 안드로이드 키해시
- 백준
- 카카오 기출
- 안드로이드 카카오톡으로 로그인
- 코틀린 데이터바인딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |