분류 전체보기 246

3강 :: 파이썬 문법 수 자료형

자료형 - 모든 프로그래밍은 결국 데이터를 다루는 행위 - 자료형에 대한 이해는 프로그래밍의 길에 있어 첫 걸음 - 파이썬의 자료형으로는 정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 사전 등이 있다. - 다양한 기능 제공 - 파이썬의 자료형은 필수적으로 알아 두어야 한다. ex) 파이썬에서 리스트 = C++의 벡터 라이브러리, Java에서의 array list 라이브러리가 제공하는 기본 기능을 이미 가지고 있다. → 별도의 표준 라이브러리를 불러오지 않아도 됨 - 다른 언어의 라이브러리 단에서 제공하는 강력한 기능을 라이브러리를 불러오지 않아도 쉽고 간결하게 이용 가능 정수형 - 정수형(Integer)은 정수를 다루는 자료형이다. - 양의 정수, 음의 정수, 0 - 코딩 테스트에서 출제되는 많은..

[프로그래머스 lv.1] 바탕화면 정리

문제 코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드는 그 문제에 가서 다시 볼 수 있기 때문에 저장해 둔 파일들을 전부 삭제하기로 했습니다. 컴퓨터 바탕화면은 각 칸이 정사각형인 격자판입니다. 이때 컴퓨터 바탕화면의 상태를 나타낸 문자열 배열 wallpaper가 주어집니다. 파일들은 바탕화면의 격자칸에 위치하고 바탕화면의 격자점들은 바탕화면의 가장 왼쪽 위를 (0, 0)으로 시작해 (세로 좌표, 가로 좌표)로 표현합니다. 빈칸은 ".", 파일이 있는 칸은 "#"의 값을 가집..

[프로그래머스 lv.1] 대충 만든 자판

문제 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다. 심..

[프로그래머스 lv.1] 둘만의 암호

문제 두 문자열 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" 또한 위 규칙대..

[프로그래머스 lv.1] 크기가 작은 부분문자열

문제 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항 1 ≤ p의 길이 ≤ 18 p의 길이 ≤ t의 길이 ≤ 10,000 t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 내가 생각한 풀이 방법 for문 돌면서 i를 증가시키며 슬라이싱 [i:i+len(p)-1] 슬라이싱을 ..

[프로그래머스 lv.1] 가장 가까운 같은 글자

문제 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다. n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다. a는 자신보다 두 칸, 네 칸 앞에 a가 있습니다..

2강 :: 알고리즘 성능 평가

복잡도 (Complexity) - 알고리즘의 성능을 나타내는 척도 - 계산 복잡도 이론에서 나온 것 1. 시간 복잡도 - 특정한 크기의 입력에 대해 알고리즘 수행 시간 분석 - 수행 시간 측면에서 더 많은 시간 소요 / 더 빠르게 실행 2. 공간 복잡도 - 특정한 크기의 입력에 대해 알고리즘 메모리 사용량 분석 - 많은 메모리가 필요 / 적은 메모리로도 실행 가능 - 동일한 기능을 수행하는 알고리즘이 있다면 복잡도가 낮을 수록 좋은 알고리즘이다. - 성능적인 면에서 복잡도다! 빅오 표기법(Big-O Notation) - 가장 빠르게 증가하는 항만을 고려한 표기법 - 함수의 상한만을 나타냄 - 계수는 무시 - 이것 또한 계산 복잡도와 관련,, 극한 - N이 엄청 큰 수라고 가정하면 3N³을 제외한 나머지 ..

1강 :: 코딩 테스트란 무엇인가?

코딩 테스트의 유형 1. 온라인 코딩 테스트 - 인터넷 활용해 프로그래밍 역량 평가 - 대체로 타인과 문제 풀이를 공유하지 않는 선에서 인터넷 검색 허용 2. 오프라인 코딩 테스트 - 시험장에 방문하여 치르는 시험 - 대체로 인터넷 검색이 허용되지 않고 회사에서 제공하는 컴퓨터 환경을 이용함 ▶️시험이 여러 단계로 나누어질 경우 온라인 → 오프라인 시험 혹은 코딩 테스트 → 면접 식으로 이루어짐 온라인 저지 (Online Judge) - 해외 코드포스 https://codeforces.com/ 탑코더 https://www.topcoder.com/ 릿코드 https://leetcode.com/ 코드셰프 https://www.codechef.com/ - 국내 백준 온라인 저지 https://www.acmic..

[프로그래머스 lv.1] 명예의 전당 (1)

문제 "명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됩니다. 이 프로그램에서는 매일 "명예의 전당"의 최하위 점수를 발표합니다. 예를 들어, k = 3이고, 7일 동안 진행된 가수의 점..

[프로그래머스 lv.1] 기사단원의 무기

문제 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력이 2인 무기를 ..