Base/Algorithm Study 46

[Python/파이썬] 백준 알고리즘 10951번 - A+B - 4

while문으로 계속 입력을 받다가 입력이 없으면 출력을 멈추는 코드를 짜라는 것이다. while True: try: A, B = map(int, input().split()) except: break print(A + B) 변수 A, B에 입력이 없으면 에러가 나게 된다. 때문에 try-except 구문을 써야한다. try 구문에는 에러가 발생할 여지가 있는 문장을 작성하고, except 구문에는 에러가 발생할 경우 실행시킬 문장을 작성한다. 1. try-except 구문은 에러가 발생할 가능성이 있는 코드를 처리할 수 있는 코드이다. (ex. 입력 상황에서 문자를 입력해야하는데 숫자를 입력해 에러가 난다는 등) 에러가 발생할 여지가 있는 경우에 try-except 구문을 이용하면 에러가 발생돼도 프로..

[Python/파이썬] 알고리즘 지엽 정리(계속 수정 및 추가)

1. input().split()을 쓰면 string 타입의 element들을 갖는 List를 얻는다. 2. while문에서 while문 밖에 변수랑 안에 변수가 중복되는 것 같을 때 while의 조건을 바꾸고 break를 이용하는 것도 방법이 될 수 있다. 3. 하나의 변수에 여러 element가 있는 list를 받으려고 할 때는 그냥 map만 쓰면 안된다. (ex. numList = map(int, input().split())) 밖에 list()로 감싸줘야한다. ( list(map(int, input().split())) ) 또는 파이썬의 컴프리헨션(comprehension)을 이용해 할 수도 있다. [int(i) for i in input().split()] 을 써서 해도된다. (속도는 compr..

[Python/파이썬] 백준 알고리즘 15552번 - 빠른 A+B

위에서 언급된 참고 글 링크 : https://www.acmicpc.net/board/view/22716 글 읽기 - 추가 설명 및 다른 언어 빠른 입출력 방법 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net import sys T = int(input()) for _ in range(T): A, B = map(int, sys.stdin.readline().split()) print(A + B) 파이썬의 경우 sys을 import해 sys.stdin.readline()을 사용하면 더 빠르게 입력을 받을 수 있다고 한다. 1. sys.stdin.readline()을 이용해서 input() 을 대체할 수 있고 더 빠르다.

[Python/파이썬] 백준 알고리즘 2588번 - 곱셈

A = int(input()) B = input() AxB0 = A * int(B[0]) AxB1 = A * int(B[1]) AxB2 = A * int(B[2]) AxB = A * int(B) print(AxB2, AxB1, AxB0, AxB, sep='\n') A는 int로 형변환을 하고 B는 문자로 받는다. (인덱싱을 하기위해서) 1. 공백없이 붙어있는 입력값에서 일정 부분을 떼서 사용하고 싶을 땐 문자로 바꾸어 인덱싱 2. print 할 때 sep 파라미터를 사용하면 print 함수의 출력값이 여러 개 일 때 각 값의 사이사이에 삽입할 문자를 지정할 수 있다.

[알고리즘] 더 효율적인 Quick Sort에 대한 생각

오늘 학기의 마지막 자료구조론 수업으로 Sort 알고리즘들에 대해 배웠다. 그 중 Quick Sort를 더 효율적인 Time Complexity로 사용할 수 있을 것 같아 생각을 글로 남긴다. 먼저 Selection Sort, Insertion Sort, Bubble Sort와 같은 경우 O(n^2)의 Time Complexity를 갖는다. 그리고 Merge Sort, Quick Sort의 경우 O(nlogn)의 Time Complexity를 갖는다. 근데 Quick Sort는 조금 다른점이 있는데 다른 Sort 알고리즘의 경우 worst case의 Time Complexity이지만 Quick Sort는 평균적인 경우의 Time Complexity였다. Quick Sort는 pivot을 결정하는 부분에서..

코드업 기초100제 정리

최근 소프트웨어 마에스트로에 서류합격하고 코딩테스트를 준비하느라 정신이 없었다. 가끔씩 백준에 들어가서 문제를 풀긴 했었지만 지금까지는 전공과목 공부를 하고 앱만드는데만 힘을 쏟느라 제대로 알고리즘을 접해보고 공부해볼 기회가 없었다. 이번 코딩테스트를 통해 알고리즘에 대해 접하고 제대로 공부해볼 수 있어서 합불을 떠나 좋은 경험이 된 것 같다. 소프트웨어 마에스트로 가이드에 따르면 기초100제로 기본을 다지고 백준에서 단계별로 풀어보라고 해서 코드업의 기초 100제 먼저 풀어보았다. 기초 100제를 풀면서 배운점을 정리해봤다. 1. 여러개의 값을 받을 때 map 이용한다. 2. format쓸 때 {0:02d} 3. o는 8진수 x는 16진수, X는 16진수인데 대문자로 나옴 4. int()로 형변환 할 ..

반응형