목록분류 전체보기 (285)
일기 대신 코드 슬쩍
파이썬 문법- 수 자료형자료형정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 사전 등 정수형정수(Integer)를 다루는 자료형양의 정수, 음의 정수, 0 실수형실수형(Real Number)은 소수점 아래의 데이터를 포함하는 수 자료형변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리소수부가 0이거나, 정수부가 0인 소수는 0을 생략하고 작성 가능 지수 표현 방식e나 E를 이용한 지수 표현 방식을 이용e나 E 다음에 오는 수는 10의 지수부를 의미Ex) 1e9라고 입력하면 10의 9제곱을 뜻함임의의 큰 수를 표현하기 위해 자주 사용최단 경로 알고리즘에서는 도달할 수 없는 노드에 대하여 최단 거리를 무한(INF)로 설정이때 가능한 최댓값이 10억 미만이라면 무한(INF)의 값으로 1e9를 이용 실..
알고리즘 성능 평가복잡도(Complexity)알고리즘의 성능을 나타내는 척도시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석동일한 기능을 수행하는 알고리즘이 있을 때, 복잡도가 낮을수록 좋은 알고리즘 빅오 표기법(Big-O Notation)가장 빠르게 증가하는 항만을 고려하는 표기법Ex) 연산 횟수가 다음과 같은 알고리즘 빅오 표기법으로 표현한다면🙄코딩 테스트 문제에서 시간제한은 통상 1~5초! 요구사항에 따라 적절한 알고리즘 설계하기문제에서 가장 먼저 확인할 것은 시간제한(수행시간 요구사항)시간제한이 1초인 문제의 일반적 기준 수행 시간 측정 소스코드 예제 Uploaded by Notion2Tistory v1.1.0
문제 설명Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.1 + 2 + 3 + 4 + 5 = 154 + 5 + 6 = 157 + 8 = 1515 = 15자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.제한사항n은 10,000 이하의 자연수 입니다.입출력 예nresult154입출력 예 설명입출력 예#1문제의 예시와 같습니다.문제 풀이(+5)1트 > 효율성 테스트 실패 이중 for문을 제거해야 할 것 같습니다.def solution(n): answer = 0 for ..
문제 설명고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다.예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다.당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다.모든 달은 28일까지 있다고 가정합니다.다음은 오늘 날짜가 2022.05.19일 때의 예시..
문제 설명0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.x의 모든 0을 제거합니다.x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다.예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다.0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요.제한사항s의 길이는 1 이상 150,000 이하입니다.s에는 '1'이 최소 하나 이상 포함되어 있습니다.입출력 예sresult"1..
문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.제한사항문자열 s의 길이 : 100,000 이하의 자연수문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.입출력 예sanswer"()()"true"(())()"true")()("false"(()("false입출력 예 설명입출력 예 #1,2,3,4문제의 ..
문제 설명신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다.한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다.유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다.다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉, 2번 ..
문제 설명두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.skip에 있는 알파벳은 제외하고 건너뜁니다.예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위 규칙대로 ..