전체 글

전체 글

    아토믹 코틀린 지극히 개인적인 리뷰

    아토믹 코틀린 지극히 개인적인 리뷰

    * 이 리뷰는 길벗 출판사에서 책을 제공받아 작성했으며, 파이썬을 주로 사용하며, 자바기초 지식만 알고 있는 2년 차 주니어 개발자 입장에서의 의견입니다. 모든 프로그래밍 언어가 그렇듯 프로그래밍 언어 기본서에서 다루는 내용은 모두 비슷하기 마련이다. 책의 내용을 어떻게 전달하고, 그 방식이 나(독자)에게 잘 맞는지의 차이 라고 생각되는데, 이 책의 경우 코틀린 컴파일러 개발자가 직접 작성을 했기 때문인지 코틀린 개발사인 젯브레인에서 Intellij에 학습용 플러그인이 존재한다. 학습용 플러그인으로 코드가 맞았는지, 틀렸는지를 판단해주기 때문에 쉽게 학습이 가능하다. 개인적인 생각으로는 해당 플러그인이 Intellij에 있다는것 부터가 젯브레인에서 해당 책을 검증해 줬다고 생각한다. 책에서 각각의 아톰마..

    [프로그래머스] LEVEL3 - 여행경로

    https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한 조건 모든 공항은 알파벳 대문자 3글자로 이루어집니다. ..

    [프로그래머스] LEVEL2 - 타겟넘버(Python)

    https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3..

    [백준] 1654번 랜선 자르기(Python)

    https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 문제 설명 집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다..

    [Java/자바] 컬렉션 프레임워크

    [Java/자바] 컬렉션 프레임워크

    들어가기 전에 본 글은 제가 참여하고 있는 자바 기초 스터디에서 제가 발표한 내용으로 위의 책 Chapter 12 컬렉션 프레임워크 파트를 정리한 글입니다. 틀린 내용이나 오타가 있다면 댓글로 알려주시면 감사하겠습니다. 컬렉션 프레임워크란? 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 클래스로 구현해 놓은 것으로 java.util 패키지에 구현되어 있음 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현 Collection, Map은 구현 코드 없는 인터페이스 위의 그림은 대표적인 것만 표현 Collection 인터페이스 하나의 객체를 관리하기 위한 메서드가 정의된 인터페이스..

    [Java/자바] 제네릭 프로그래밍

    [Java/자바] 제네릭 프로그래밍

    들어가기 전에 본 글은 제가 참여하고 있는 자바 기초 스터디에서 제가 발표한 내용으로 위의 책 Chapter 12 컬렉션 프레임워크 파트를 정리한 글입니다. 틀린 내용이나 오타가 있다면 댓글로 알려주시면 감사하겠습니다. 제네릭(Generic) 프로그래밍 변수의 선언이나 메서드의 매개변수를 하나의 자료형이 아닌 여러 자료형으로 변환될 수 있도록 프로그래밍하는 방식 ex) String[] strArray = {"strOne", "strTwo"}; Int[] intArray = {1, 2}; 데이터 형식에 의존하지 않고 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재사용성을 높일 수 있는 프로그래밍 방식 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적인 프로그래..

    [프로그래머스] LEVEL2 - 카펫(Python)

    [프로그래머스] LEVEL2 - 카펫(Python)

    https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 ye..

    [백준] 2346번 풍선 터뜨리기(Python)

    https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 문제 설명 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N보다 작거나 같은 정수가 하나 적혀있다. 이 풍선들을 다음과 같은 규칙으로 터뜨..