외우지말고 이해하라.

외우는 것 보단 이해해서 내것으로 만들어 활용하기

Another-Develop 14

05 파이썬 - collections.Counter, 2차원 리스트 -> 1차원 리스트 : - from_iterable, 순열 : permutations

1. 가장 많이 등장하는 알파벳 찾기 - Counter 주어진 시퀀스타입에 몇 번이나 등장하는지 세야 할 때 사용 collections.Counter 클래스를 사용하면 코드를 간략하게 만들 수 있습니다. import collections my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0] answer = collections.Counter(my_list) print(answer[1]) # = 4 print(answer[3]) # = 3 print(answer[100]) # = 0 2. 2차원 리스트를 1차원 리스트로 만들기 - from_iterable 각 원소의 길이가 동일한 경우에만 사용 가능합니다. ..

프로그래머스 - 소수찾기

def solution(n): answer = 0 for i in range(n): test = i+1 chk = 0 cnk = 0 for x in range(test): test02 = x+1 if(test%test02==0): chk = chk+1 if(test02 != test): cnk = 1 if(chk==2): break; if(chk == 2): cnk = 2 if(cnk==2): answer+=1 return answer 딱 봐도 효율은 별로지만 정답으로 처리 될줄 알았다... 하지만 시간 초과로 계속 코드를 수정해도 해결이 안되었다.. 어떤 함수를 사용해야 문제가 풀리는건가 ...? 싶어서 검색해보니... 에라토스테네스의 체 를 사용하라는 글들이 많았다. < ..

05 코틀린 - init, mapOf() , toMap()

- 액션Path,파라미터 ... - init 이란? 일종의 초기화 블록코틀린 문법 -> 객체 생성시 딱 한번 실행된다. class Rq(command:String){ val actionPath: String val paramMap: Map init { val commandBits = command.split("?", limit = 2) actionPath = commandBits[0].trim() val queryStr = if (commandBits.lastIndex == 1 && commandBits[1].isNotEmpty()) { commandBits[1].trim() } else { "" } paramMap = if (queryStr.isEmpty()) { mapOf() } else { val ..

04 파이썬 - sequence type, 곱집합 product

1.sequence type의 * 연산 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 for 문을 이용해 기존 스트링에 'abc'를 여러 번 붙이는 번거로운 일을 하지요. 이렇게요! answer = '' n = 반복수 for _ in range(n): answer += 'abc' 파이썬에서는 *연산자를 사용해 코드를 획기적으로 줄일 수 있습니다. n = 반복수 answer = 'abc' * n 2. 곱집합(Cartesian product) 구하기 - product 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 for 문을 이용해 두 iterable의 원소를 하나씩 곱해갑니다. iterable1 = 'ABCD' iterable2 = 'xy' iterable3 = '1..

03 파이썬 - zip, map, join

1. zip mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] new_list = list(map(list, zip(*mylist))) - 출력 결과 : [[1, 4, 7], [2, 5, 8], [3, 6, 9]] python에서는 파이썬의 zip과 unpacking 을 이용하면 코드 한 줄로 리스트를 뒤집을 수 있습니다. zip 의 추가기능 ! 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통은 len과 index를 이용하여 각 원소에 접근합니다. 파이썬의 zip을 이용하면 index를 사용하지 않고 각 원소에 접근할 수 있습니다. def solution(mylist): answer = [] for number1, number2 in zip(mylist, mylist[..

04 코틀린 - When, downTo , .. , until

1. When when은 if나 switch를 대체할 수 있는 강력한 도구 입니다. 아래와 같이 when에 enum을 넣어 사용할 수 있습니다. (사실 이건 자바도 가능하죠) fun getMnemonic(color: Color) = when (color) { Color.RED -> "Richard" Color.ORANGE -> "Of" Color.YELLOW -> "York" Color.GREEN -> "Gave" Color.BLUE -> "Battle" Color.INDIGO -> "In" Color.VIOLET -> "Vain" } fun main(args: Array) { println(getMnemonic(Color.BLUE)) } 2.3.3 When의 인자값 When은 swith와 다르게 인자값..

03 코틀린 - MutableList

1. MutableList Kotlin의 List에는 List와 MutableList가 있습니다. List는 읽기 전용이며 MutableList는 읽기/ 쓰기가 가능합니다. Kotlin에선 List인 listOf의 사용을 권장하고 있습니다. (코드의 선명함과 안정성 때문에) 하지만 동적으로 할당되는 배열을 활용하기 위해서 MutableList를 사용해야 합니다. 참고 이유 : var num = readLine()!!.split(" ").map { it.toInt() }.toMutableList() 해당 배열을 사용하려고 하니 toMultableList 를 사용해야 num[0] 배열을 수정할 수 있었다. map{ it.toInt() } 를 사용시 변수가 리스트로 선언되고 리스트는 읽기 전용임으로 Mutab..

02 코틀린 - readLine (자료형변환) , 배열

1. readLine() 출력이 print 라면 입력을 받는 명령어 자료형 변환 ! readLine()에 변환 사용 할때 주의할 점은 Null 값이 들어 왔을때 오류 없이 처리 해주기 위해 여러 표시를 해줘야함 // val num01 = readLine().trim().toInt() -> 오류 : null 일시 trim() 에서 문제가 발생함으로 ? 를 붙여 null 일경우도 처리해준다 val num01 = readLine()?.trim()?.toInt() // ? 이랑 비슷한 기능 , !!으로 null이 아니다 라고 선언 val num02 = readLine()!!.trim().toInt() // ( A ?: B ) 오류가 없으면 A 오류가 있으면 B 실행 val num03 = (readLine() ?..