코딩테스트

    [Python] input함수 대신 sys.stdin.readline 활용하기

    [Python] input함수 대신 sys.stdin.readline 활용하기

    안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 스스로 공부한 지식을 정리하고자 합니다. 이번에 배운 내용은 사용자 입력함수로 input() 대신 sys.stdin.readline을 입력하여 사용자 입력을 받는다는 것입니다. 1) 왜 input함수를 안쓰고 이걸 쓰냐? input()함수의 경우, 입력 받을 때 매우 느려 10만개 이상 입력받을 경우 시간 초과 문제가 발생합니다. input()은 - 사용자에게 입력을 받은 후 - 받은 입력을 문자열로 전환하고 - strip (공백제거) 까지 진행하기 때문에 비교적 오래 걸리는 함수입니다. 2) sys.stdin.readline 은?? 개행 문자까지 포함하여(즉, 한줄 전체를) 출력하기 때문에 따로 strip 과정이 없습니다. ..

    [Python] input 함수 활용하여 원하는 만큼 리스트 내 원소 자동생성하기

    [Python] input 함수 활용하여 원하는 만큼 리스트 내 원소 자동생성하기

    안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 스스로 공부한 지식을 정리하고자 합니다. 코딩테스트를 준비하다보면, 반복문이 1번 돌때마다 나온 값을 한 리스트에 저장해야하는 경우가 있습니다. 이런 경우, 보통은 루프 밖에 별도의 리스트를 생성하여 append 함수를 이용하여 리스트를 만들기도 하는데요. 이번에는 좀 다르게 활용할 수 있는 방법이 있어 정리하고자 합니다. 사용자가 입력하는 숫자만큼 리스트 내 리스트 요소 만들기 사용자의 입력 수의 개수만큼 리스트 내 리스트로 만드는 방법입니다. list(map(int, input().split())) list(map(int,input().split())) 을 먼저 활용하면, 사용자가 입력하는 문자열을 정수형으로 변경하고, 스..

    [Algorithm] 탐욕(Greedy) 알고리즘이란

    [Algorithm] 탐욕(Greedy) 알고리즘이란

    안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 스스로 공부한 지식을 정리하고자 합니다. - 무슨 개념인지? - 개념이 나오게 된 배경은? - 그 개념은 왜 쓰는지? - 장점/단점은 무엇인지? - (유사한 것이 있다면) 서로 차이는 무엇인지? 를 최대한 고려하여 정리해보겠습니다. 1. 그리디 알고리즘이란?(what?) 그리디 알고리즘은, 당장 좋은 것만을 고르는 알고리즘이다. 즉, 당장 주어진 선택지 중에서 눈앞에 보이는 가장 최적의 상황을 고르는 것으로, 그 이후에 발생할 상황을 고려하지 않는다는 것이다. 그러므로 직관적이지만 국소적(local)이므로 결과론적(global)으로 봤을 때 항상 최적의 해답을 보장하지 않는다. 예를 들어, 현재 선택할 수 있는 선택지 중에서 ..

    [백준] 1단계 입출력과 사칙연산 풀이_12.28

    [백준] 1단계 입출력과 사칙연산 풀이_12.28

    안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 백준에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다. 그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다. [접근 방식] - 문제에서 요구하는 역량은 무엇인지? - 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다. - 백준 문제 링크입니다. : https://www.acmicpc.net/step/1 입출력과 사칙연산 단계 입출력과 사칙연산 www.acmicpc.net 아래 작성된 답안은 제가 직접 작성 후 백준 페이지에서 채점하여 정답으로 인정된 답안입니다. 공식 답안이 아니므로 최적의 해가 아..