public static void main(String[] args) { System.out.println(solution("(){}[]")); //true System.out.println(solution("{(})}){)}{(}{)})(")); //false System.out.println(solution("{([])}")); //true System.out.println(solution("{[}]")); //false } 괄호 (), {}, [] 세가지를 이용하여 괄호가 알맞게 열리고 닫혔는지 판단하는 solution 함수를 작성하시오. 즉, 위 main 메소드의 결과를 만족하는 solution 함수를 작성하시오. 풀이 private static boolean solution(String s) {..
안녕하세요. 오늘은 Arrays.asList() 라는 메소드를 사용하다가 발생한 에러에 대해서 공유하고자 합니다. 먼저 List list = Arrays.asList("A", "B", "C"); 다음과 같이 Arrays.asList로 만든 list 객체가 있었고 추가적으로 "D"라는 문자열이 추가될 수 있는 상황이었습니다. 그리하여 list.add("D"); "D" 문자열을 추가해주었더니 다음과 같은 에러가 발생하였습니다. Request processing failed; nested exception is java.lang.UnsupportedOperationException 왜 발생하는지 알아보기 위해서 Arrays의 asList 메소드를 까봤습니다. 메소드 바로 위에 달린 주석을 참조하니 단번에 눈치..
for 반복문 소스코드 예제 fun forLoop(){ println("[for] 반복문") val items = listOf("apple", "banana", "kiwi") // A for(item in items) { println(item) } // B for(index in 0..(items.size-1)) { println("이건 item at $index is ${items[index]}") } // C for(index in 0 until items.size) { println("이건 item at $index is ${items[index]}") } // D for(index in items.indices) { //indices -> 0..2 println("item at $index is..
이번에는 코틀린의 공식홈페이지에 있는 Getting Started에 정리된 내용을 제가 이해한대로 정리해보았습니다. 코틀린 공식홈페이지 Getting Started 주소는 아래와 같습니다. https://kotlinlang.org/docs/reference/basic-syntax.html Basic Syntax - Kotlin Programming Language kotlinlang.org 일단, 모든 내용을 테스트할 수 있는 main 함수입니다. fun main(){ println(sum(10, 20)) println(sum2(10, 20)) printSum(10, 20) printSumNoUnit(10, 20) println("1과 10중 최댓값은 ${maxOf(1,2)}입니다."); println(..
안녕하세요. 오늘은 코틀린 공부를 하기에 앞서 프로젝트를 생성하는 방법에 대해서 공유하고자 합니다. 일단 저는 IntelliJ Ultimate 버전(유료)을 사용하고 있는데, IntelliJ Community(무료) 버전으로도 생성이 가능한 것을 확인하고 커뮤니티버전의 인텔리제이로 생성하는 방법을 공유합니다. 일단 인텔리제이 커뮤니티가 안깔려 있으신 분들은 설치를 해주시고 바로 프로젝트 생성부터 가보겠습니다. * Kotlin은 JDK/JVM 기반 프로그래밍 언어이기 때문에 자바가 설치되어있어야합니다. 1. Create New Project 클릭 일단 커뮤니티 버전을 실행하고나면 가장 먼저 나오는 화면입니다. 빨간 부분의 버튼을 클릭합니다. 2. 언어 Kotlin 선택, JVM 기반 선택 좌측에 여러가지 ..
코틀린 스프링부트, 컨트롤러 생성 후 페이지 접속해보기 - TestController.kt 생성 - pom.xml에 mustache 디펜던시 추가. 1. 현재 프로젝트 구조 - main/resources/templates 디렉토리 아래애 footer, header, index 머스터치 파일 생성 pom.xml org.springframework.boot spring-boot-starter-mustache Mustache 디펜던시 추가. -> mvn clean -> mvn install TestController.kt package com.example.demokotlin.test import org.springframework.stereotype.Controller import org.springfram..
Kotlin을 이용하여 스프링 부트 프로젝트 생성하기 - 사용 IDE : IntelliJ IDEA Ultimate 일단 유료버전이지만 인텔리제이를 이용하여 코틀린 스프링부트 프로젝트를 생성하는 모습을 보여드리겠습니다. IntelliJ IDEA Ultimate 버전 - 먼저 메뉴를 따라 프로젝트를 생성해줍니다. - Spring Boot Initializr를 선택한 후 Next를 눌러줍니다. - 그 다음엔 프로젝트 루트 구조명들을 짓고, Maven 혹은 Gradle 중 하나를 선택합니다. ( 필자는 개인적으로 Maven을 많이 써서 Maven으로 선택했습니다.) - 그 다음 Language 선택시, 기본 선택되어 있는 java말고 Kotlin으로 선택합니다. - Next를 눌러줍니다. - 여기부터는 스프링 ..
자바에서 커스텀 어노테이션을 만드는 방법은 다음과 같다. public @interface MyAnnotation { } 사실상 인터페이스 키워드에 @를 붙이면 되는 것인데. 이것을 곧바로 클래스, 필드, 메서드 같은 곳에 붙이면 어노테이션으로써의 껍데기 역할은 할 수 있게 된다. - @MyAnnotation 사용 예) @MyAnnotation public class MyMain{ public static void main(String[] args){ System.out.println("Hello World!"); } } @Retention 어노테이션 - Book 클래스 package org.example; @MyAnnotation public class Book { private static String..