별의 공부 블로그 🧑🏻‍💻

🗒️ Source Code (118)

728x90
  1. 2021.04.03 [코틀린] 컬렉션 요소의 매핑 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 fun main() { val list = listOf(1, 2, 3, 4, 5, 6) val listWithNull = listOf(1, null, 3, null, 5, 6) // map: 컬렉션에 주어진 식을 적용해 새로운 컬렉션 반환 println(list.map { it * 2 }) // mapIndexed: 컬렉션에 인덱스를 포함하고 주어진 식을 적용해 새로운 컬렉션 반환 val mapIndexed = list.mapIndexed { index, it -> index * it } println(mapIndexed) // mapNotNull: null을 제외하고 식을 적용해 새로운 컬렉션 반..

  2. 2021.04.03 [코틀린] 컬렉션 요소의 필터와 추출 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 fun main() { val list = listOf(1, 2, 3, 4, 5, 6) val listMixed = listOf(1, "Hello", 3, "World", 5, 'A') val listWithNull = listOf(1, null, 3, null, 5, 6) val listRepeated = listOf(2, 2, 3, 4, 5, 5, 6) val map = mapOf(11 to "Java", 22 to "Kotlin", 33 to "C++") // fil..

  3. 2021.04.03 [코틀린] 컬렉션 요소의 검사 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 fun main() { val list = listOf(1, 2, 3, 4, 5, 6) val listPair = listOf(Pair("A" , 300), Pair("B", 200), Pair("C", 100)) val map = mapOf(11 to "Java", 22 to "Kotlin", 33 to "C++") // all: 모든 요소가 일치해야 true 반환 println(list.all { it < 10 }) println(list.all { it % 2 == 0 }) // any: 최소한 하나 혹은 그 이상의 특정 요소가 일치해야 true 반환 pr..

  4. 2021.04.03 [코틀린] 컬렉션 요소의 처리와 집계 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 fun main() { val list = listOf(1, 2, 3, 4, 5, 6) val listPair = listOf(Pair("A", 300), Pair("B", 200), Pair("C", 100)) val map = mapOf(11 to "Java", 22 to "Kotlin", 33 to "C++") // forEach: 각 요소를 람다식으로 처리 list.forEach { print("$it ") } println() list.forEachIndexed { index, val..

  5. 2021.04.03 [코틀린] 컬렉션 연산 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 fun main() { val list1: List = listOf("one", "two", "three") val list2: List = listOf(1, 3, 4) val map1 = mapOf("hi" to 1, "hello" to 2, "Goodbye" to 3) println(list1 + "four") // + 연산자를 사용한 문자열 요소 추가 println(list1 + 1) // + 연산자를 사용한 정수형 요소 추가 println(list2 + listOf(5, 6, 7)) // 두 List의 병합 println(list2 - 1) // 요소의 제거 println(list2 - listOf(3, 4, 5)) // 일치하는 요..

  6. 2021.04.03 [코틀린] 불변형(Immutable) List를 가변형(Mutable)으로 변환하기

    - List의 toMutableList() 메서드를 사용하여 불변형(Immutable) List를 가변형(Mutable)으로 변환할 수 있음. (가변형 List를 불변형 List로 변환하는 메서드는 존재하지 않음.) 1 2 3 4 5 6 fun main() { val names: List = listOf("one", "two", "three") // 불변형 List 초기화 val mutableNames = names.toMutableList() // 새로운 가변형 List가 만들어짐. mutableNames.add("four") // 가변형 List에 하나의 요소 추가 println(mutableNames) } [one, two, three, four]

  7. 2021.04.02 [코틀린] 배열의 인덱스 찾아내기 예제 (제네릭, 배열 사용)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 fun find(a: Array, Target: T): Int { for (i in a.indices) { if (a[i] == Target) return i } return -1 } fun main() { val arr1: Array = arrayOf("Apple", "Banana", "Cherry", "Durian") val arr2: Array = arrayOf(1, 2, 3, 4) println("arr.indices ${arr1.indices}") // indices는 배열의 유효 범위 반환 println(find(arr1, "Cherry")) // 요소 C의 인덱스 찾아내기 println(find(arr2, 2)) // 요소 2의..

  8. 2021.03.31 [코틀린] 접근 지정자(Getter, Setter) 예제

    게터와 세터가 포함되는 프로퍼티 선언에 대한 구조 var 프로퍼티_이름[: 프로퍼티 자료형] [= 프로퍼티 초기화] [get() { 게터 본문 }] [set(value) { 세터 본문 }] val 프로퍼티 이름[: 프로퍼티 자료형] [= 프로퍼티 초기화] [get() { 게터 본문 }] 프로퍼티를 var로 선언하는 경우 게터와 세터 둘 다로 선언할 수 있음. 프로퍼티를 val로 선언하는 경우 게터로만 선언 가능함. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class User(_id: Int, _name: String, _age: Int) { // 프로퍼티 val id: Int = _id get() = field var name: St..

  9. 2021.03.30 [코틀린] 바깥 클래스 호출하기 (Inner Class)

    이너 클래스 에서 바깥 클래스의 상위 클래스 를 호출하려는 경우 super 키워드와 함께 @ 기호 옆에 바깥 클래스 이름을 작성함. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 open class Base { open val x: Int = 1 open fun f() = println("Base Class f()") } class Child : Base() { override val x: Int = super.x + 1 override fun f() = println("Child Class f())") // 이너 클래스 inner class Inside { fun f() = println("Inside Class f()") fun ..

  10. 2021.03.17 [코틀린] 사용자 예외 클래스 생성 & 사용 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class InvalidNameException(message: String) : Exception(message) // 1. 사용자 예외 클래스 설정 fun main() { var name = "Kildong123" // 2. 숫자가 포함된 이름 try { validateName(name) } catch (e : InvalidNameException) { // 3. 숫자가 포함된 예외 처리 println(e.message) } catch (e : Exception) { // 기타 예외 처리 println(e.message) } } fun validateName(name: String) { if (name.matches..

  11. 2021.03.16 [코틀린] Try-Catch-Finally & Throw 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 fun main() { var amount = 600 try { amount -= 100 checkAmount(amount) } catch (e : Exception) { println(e.message) } finally { println("이 문장은 무조건 실행됩니다.") } println("amount: $amount") } fun checkAmount(amount: Int) { if (amount < 1000) { throw Exception("잔고가 $amount 으로 1000 이하입니다.") } } 잔고가 500 으로 1000 이하입니다. 이 문장은 무조건 실행됩니다. amount: 500

  12. 2021.03.15 [코틀린] 람다식의 매개변수

    람다식의 매개변수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 fun main() { // 매개변수가 없는 람다식 noParam({ "Hello World!" }) noParam { "Hello World!" } // 위와 동일한 결과, 소괄호 생략 가능 println() // 매개변수가 1개 있는 람다식 oneParam({ a -> "Hello World! $a" }) oneParam { a -> "Hello World! $a" } // 위와 동일한 결과, 소괄호 생략 가능 oneParam { "Hello World! $it..

  13. 2021.03.15 [코틀린] XOR을 이용하여 2개의 변수 값 바꾸기 (Swap 기법)

    XOR을 이용하여 2개의 변수 값 바꾸기 xor의 독특한 성질을 이용하여 2개의 변수 값을 바꿀 수 있음. 스왑(Swap) 기법 xor 연산자를 3번 사용하여 두 변수의 값을 바꿈. 임시 변수를 놓고 변수를 저장하여 옮기는 등의 작업을 하지 않아도 간편하게 두 수를 바꿀 수 있어 편리함. 1 2 3 4 5 6 7 8 9 10 11 fun main() { var number1 = 12 var number2 = 25 number1 = number1 xor number2 // number1 = 21, number2 = 25 number2 = number1 xor number2 // number1 = 21, number2 = 12 number1 = number1 xor number2 // number1 = 25..

  14. 2021.02.17 [C++] 정수를 입력 받아 각 자릿수의 합 구하기

    정수를 입력 받아 각 자릿수의 합 구하기 정수를 입력 받아 각 자릿수의 합을 구하려면 다음과 같이 사용하면 된다. ■ 알고리즘 1. 입력 받은 수(num)와 10을 나머지 연산을 수행한 후, 결과값을 sum 변수에 계속 더해준다. (sum += num % 10) 2. 입력 받은 수(num)을 10으로 계속 나누어준다. (num /= 10) 3. 입력 받은 수가 0이 될 때까지 1, 2번 과정을 반복한다. ■ 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include using namespace std; int main() { int num, sum = 0; cin >> num; while (num != 0) { sum += num % 10; num /= 10; } cout

  15. 2021.01.20 Python Range() 함수 구현

    C++를 이용하여 Python의 Range 함수를 구현해보았다.

  16. 2020.12.28 0부터 N까지 피보나치 수열 나열하기

    입력을 받으면, 입력한 수까지 피보나치 수열을 나열하는 프로그램 for 문/while 문/do while 문으로 간단하게 구현함.(+ 재귀 함수/ goto 문 이용하기) 시간 복잡도 : O(n) 200 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

  17. 2020.12.26 숫자 N의 약수의 개수 구하기

    *숫자 N의 약수의 개수 구하기 1부터 N까지 for문을 돌리면서 나누어 떨어지는 수가 있으면(i % N == 0) 카운트를 증가시켜(count++) 최종적으로 카운터를 출력하면 끝. 123456789101112131415161718#include using namespace std; int checkCommonDivisor(int n) { int count = 0; for (register int i = 1; i

  18. 2020.11.05 Checkbox, Radio, Select에서 선택된 항목 출력하기

    Checkbox, Radio 또는 Select 에서 선택한 항목을 가져와 자바스크립트로 출력하는 코드각각 사용법이 다르다는 것을 명심하자. 1. Checkbox - 코드 1234567891011121314151617181920212223242526272829303132333435363738394041 Document function output(form) { var a = "당신의 취미는 \n"; if (form.check1.checked) { // checked 속성 확인 a += form.check1.value + "\n"; } if (form.check2.checked) { // checked 속성 확인 a += form.check2.value + "\n"; } if (form.check3.chec..

  19. 2020.11.02 버블 정렬(Bubble Sort)

    *버블 정렬(Bubble Sort) 12345678910111213141516171819202122232425#include #define SIZE 5 int main() { int i, k; int list[SIZE] = {16, 7, 9, 1, 3}; // 배열의 요소 정렬 for (k = 0; k

  20. 2020.10.12 배열을 사용하지 않고 입력 받은 정수의 각 자리의 수 합하기

    다음과 같이 입력 받은 정수 N의 각 자리의 수를 배열을 사용하지 않고 반복문을 사용하여 합할 수 있다. 1234567891011121314#include int main() { int N, sum = 0; scanf("%d", &N); for (int i = N; i != 0; i /= 10) { sum += (i % 10); } printf("정수 N의 각 자리수의 합 : %d", sum); return 0;} 1234515 원리는 다음과 같다. 입력 받은 정수 N을 0이 될 때까지 10으로 계속 나누어 준 후, 10으로 mod 연산을 수행하면 된다.그리고 나온 값들을 모두 더해주면 끝! [Step 1] 12345 12345 % 10 = 5 (다섯 번째 자리의 수) [Step 2] 12345 / 10..

  21. 2020.09.18 조건문이나 함수 없이 반올림 하기

    조건문이나 round() 함수를 사용하지 않고 간단한 조건만으로 반올림을 할 수 있는 방법이 있다. 예를 들어 5자리의 정수를 받아서 100의 자리에서 반올림한 결과 값을 출력하는 프로그램을 작성할 때, (100의 자리의 숫자 >= 5) * 1000의 값을 더해주면 된다. >= 5 이라는 조건을 넣어주어 100의 자리의 숫자가 5 이상일 경우 1(True), 그렇지 않을 경우 0(False)이 나오도록 한 후 그 값을 1000과 곱하여 더해주면 되는 것이다. 1234567891011121314151617#include int main() { int input, tenThousand, thousand, hundred; scanf("%d", &input); tenThousand = input / 10000;..

  22. 2020.09.11 숫자 출력 시 앞에 0을 붙여 자리수 채우기

    C 언어에서 숫자 출력 시, 앞에 0을 붙여 자리수를 채울 수 있는 방법이 있다.printf()로 출력할 경우, 형식 지정자에 0n(n: 숫자)을 붙이면 된다. 12345678#include int main() { printf("%d\n", 125); printf("%5d\n", 125); printf("%05d\n", 125); return 0;} 125 12500125 > "%05d" 1 2 3 4 5 0 0 1 2 5

  23. 2020.08.14 C언어 2차원 배열 동적 할당 예제

    // 동적 할당을 이용하여 ROW x COL 크기의 2차원 배열 만들기 #include #include #define ROW 10 #define COL 10 int main() { int count = 0; // 동적할당을 이용하여 2차원 배열 생성하기 int **arr = (int**)malloc(sizeof(int) * ROW); for (int i = 0; i < ROW; i++) { arr[i] = (int*)malloc(sizeof(int) * COL); } // 2차원 배열에 데이터 넣기 for (int i = 0; i < ROW; i++) { for (int j = 0; j < COL; j++) { arr[i][j] = count++; } } // 2차원 배열의 내용 출력하기 for (int..

  24. 2020.05.15 이진 탐색 트리 프로그램 (Binary Search Tree Program)

    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..

  25. 2020.03.24 [Python] matplotlib 라이브러리를 이용하여 그래프 그리기

    *matplotlib 라이브러리를 이용한 그래프 그리기 # default 설정 import numpy as np import matplotlib.pyplot as plt %matplotlib inline np.random.seed(1) x = np.arange(10) # 0~9 사이 랜덤 수 y = np.random.randn(10) # 0~1 사이 랜덤 수 print(x) print(y) [0 1 2 3 4 5 6 7 8 9] [ 1.62434536 -0.61175641 -0.52817175 -1.07296862 0.86540763 -2.3015387 1.74481176 -0.7612069 0.3190391 -0.24937038] # 그래프 표시 plt.plot(x, y) # 꺾은선 그래프를 등록 pl..

  26. 2019.05.02 [Python] BMI 계산기

    12345678910111213141516171819202122232425262728293031323334# BMI 계산기# BMI = weight/height^2 # 리스트 생성status = ["저체중", "정상", "과체중", "경도비만", "중증도 비만", "고도 비만"] # 키, 몸무게 입력height = (float)(input("본인의 키를 입력하세요.(m): "))weight = (float)(input("본인의 몸무게를 입력하세요.(kg): ")) # BMI 수치 계산 (절댓값)BMI = abs(weight / (height ** 2)) # 계산if BMI

  27. 2019.04.23 [Python] 화씨온도(℉)를 섭씨온도(℃)로 변환하기

    123fah = float(input("변환할 화씨온도(℉)를 입력하십시오: ")) cel = (fah - 32) * 5/9print("%0.2f℉는 %0.2f℃입니다." % (fah, cel))cs 22734777_uomkq@goorm:/workspace/PythonSeminar19/Users/Jade$ python3 convert_fahrenheit_celsius.py변환할 화씨온도(℉)를 입력하십시오: 4949.00℉는 9.44℃입니다.Colored by Color Scriptercs - 화씨온도(℉, Fahrenheit)- 미국에서 많이 사용하는 온도체계- 영하 17.7℃에서 37.7℃를 백등분- 섭씨온도(℃, Celsius)- 전 세계에서 널리 쓰이는 온도 단위- 물의 어는점을 0도, 끓는 점을..

  28. 2017.10.27 단순선형회귀분석 (Simple Linear Regression) 예

    # Loading CSV File myData

  29. 2017.10.10 0부터 n까지의 숫자의 2진수 출력하기

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // 0부터 입력받은 수의 2진수 출력하기 #include #include // pow() using namespace std; void main() { int x, num; cin >> num; for (int j = 0; j = 0; --x) { cout x) & 1); } cout

  30. 2017.09.21 배열 요소 정리 : 배열에 담긴 수를 분류하고, 그 개수를 각각 출력하기

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 #include #define NUM 10 using namespace std; int main() { int tmp, mark = 0, count = 1; int ary[NUM]; int a[NUM], b[NUM]; cout

728x90


📖 Contents 📖