목록알고리즘 (21)
Front-end Developer
배운 내용 1. 이번 알고리즘 문제에서 return을 처음 써봤는데, return은 함수 안에서만 쓸 수 있다는것을 깨달았다. 밑에 함수를 보면 if isPrime(k): print(k)에서 isPrime에 True가 return이되면 print(k)가 실행된다. 2. 또 처음시도한것은 함수(def)를 만들어서 문제를 풀어보았다. 함수를 이용했을 때 코드를 더 읽기 좋았던것 같고 True, False를 사용할 수 있어서 간편했다. 3. 이 문제는 소수에대한 개념이 있어야 풀 수 있는 문제인것 같다. 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는..
배운 내용 이 문제는 처음에 풀어서 답이 나왔는데 시간초과로 인해서 다시 세팅을 해야했다. 원하는 답만 나온다고해서 문제를 푼게 아니라 내가 짠 코드가 범위안에서 돌아가는데 효율적인지도 생각해봐야겠다. set 내장 함수를 이용해서 input된 단어안에있는 공통되는 알파벳을 없애고 하나씩만 저장할 수 있다. 최빈값을 구할 때 사용하기 좋은 함수이다. 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많..
배운 내용 1. 두 변수에 한번에 인풋을 할 때 어떻게 split()을 사용해야되는지 배웠습니다. input().split(" ", 1)은 첫번 째 띄어쓰기를 기준으로 split을 해서 두 변수에 나눠준다는 뜻입니다. 2. 이 문제는 문제를 정확하게 이해하지못해서 계속 헤맸던것 같다. 문제를 정확하게 읽는 중요성을 배웠다. 3. 특정 decimal point까지 값을 줄 때 round를 사용해서는 안되고, %.nf %(value) 형식을 사용해야된다. 문제 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다...
개념 정렬(Sort) 두개 이상의 원소로 이루어진 배열을 정해진 기준에 따라서 다시 나열하는 일이다. 파이썬에서 정렬을 할 때 대표적으로 두가지 방법이 있다. sorted() : 원래있는 리스트를 가지고 정렬된 새로운 리스트를 만드는 함수이다. .sort() : 해당 리스트를 정렬시키는 method이다. L = [4,2,6,63,5,1] L2 = sorted(L) #기존 리스트를 가지고 새로운 정렬된 리스트를 만든다. L.sort() #기존 리스트를 정렬시킨다. 새로운 리스트 X L2 = sorted(L, reverse=True) L.sort(reverse=True) 정렬의 순서를 반대로 할 때 위에 코드처럼 reverse = True 값을 주면 된다. 문자열 리스트 경우 알파벳 순서로 정렬한다. 대문자..
개념 선형 배열은 데이터들이 일 직선으로 나열되어있는 형태를 말합니다. Python에서는 여러가지 데이터들을 줄지어서 나열시킬 수 있는 리스트(list)가 있습니다. 알고리즘을 할 때 리스트에서 사용할 수 있는 연산들이 있습니다. 리스트 길이와 관계없이 빠르게 실행되는 연산 그리고 리스트의 길이에 비례해서 시간이 걸리는 연산, 크게 이 두가지 종류의 연산들이 있습니다. 그리고 마지막으로 list index 개념에대해서 이야기해보겠습니다. 리스트 길이에 관계없이 실행 속도가 빠른 연산 .append() : 데이터를 리스트에 덧붙일 때 사용됩니다. 추가된 데이터는 리스트 맨 뒤에 자리에하게 됩니다. .pop(): 리스트 맨 끝에 있는 데이터를 밖으로 빼올 때 사용할 수 있습니다. 리스트 길이에 비례해서 실행..