[Java] 왜 부모 클래스의 참조 변수가 자식 클래스의 메소드를 사용하지 못할까?
2022. 2. 12. 16:53
Java & Kotlin
0. 🚶들어가며 다형성에 대해 공부하다가 쉽게 이해가 되지 않는 부분이 생겼고 이에 대해 알게 된 점에 대해 글을 작성해보겠습니다. 1. 문제 ❓❓❓ 문제 상황은 다음과 같습니다. 다형성을 이용할 때 부모 클래스의 참조 변수에 자식 인스턴스를 할당해준 경우 왜 이 참조 변수가 자식 클래스만 가지고 있는 메소드는 사용하지 못하냐에 대한 물음이 생겼습니다. 좀 더 자세한 상황 설명을 위해 아래 코드를 첨부해보겠습니다. public class Test { public static void main(String[] args) { Parent p = new Child(); p.childMethod(); // 컴파일 에러가 나는 부분 } } class Parent {} // 부모 클래스 class Child ext..
[운영체제(OS)] 운영체제란 무엇인가?
2022. 2. 11. 22:57
CS/운영체제
1. 운영체제란 무엇인가? 운영체제 공부를 시작하며 우선 운영체제가 무엇인지에 대한 글을 정리해보려 합니다. 운영체제는 윈도우, 맥, 안드로이드, IOS 등과 같이 실생활에서도 자주 들어볼 수 있는 단어와 밀접한 관계가 있습니다. 운영체제는 컴퓨터를 동작시키는 데 도움을 주는 소프트웨어인데 사실 운영체제가 없어도 컴퓨터를 동작시킬 수 있습니다. 하지만 컴퓨터 사용자가 하드웨어 자체를 다룬다는 것은 쉽지 않은 일이기 때문에 기본적으로 컴퓨터에 운영체제를 탑재하는 것입니다. 운영체제는 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어로 하드웨어 + 운영체제를 컴퓨터 시스템이라고도 부릅니다. 우리가 사용하는 각종 소프트웨어들은 바로 이 컴퓨터 시스템 위에서 작동하게 됩니다. 2. 운영체제의 역할은 무엇인가? 운..
[프로그래머스] k진수에서 소수 개수 구하기 - Python
2022. 2. 10. 18:15
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 😀 풀이 본 문제는 문제 조건에 맞는 단순 구현 문제였습니다. 풀이 과정은 아래의 세 단계로 나눌 수 있습니다. 1. 양의 정수 n이 들어왔을 때 이를 소수로 변환하는 과정 2. 문제 조건에 맞게 소수 판단의 대상이 될 숫자들을 확인하는 과정 3. 2번 과정에서 찾은 숫자들이 소수인지 확인하는 과정 위..
[Java] public static void main(String[] args)에 대하여
2022. 2. 9. 18:35
Java & Kotlin
0. 들어가며 public class Test { public static void main(String[] args) { System.out.println("Hello World!"); } } 자바를 처음 배우면 대개 위와 같은 문장을 따라 쳐 보는 것으로 시작하곤 합니다. 또한 자바 프로그래밍을 하다보면 수없이 사용하는 문장임에도 불구하고 자세히 알아본 적이 없는 것 같아 이번 기회에 이에 대해 정리해보려 합니다. 1. 본문 public static void main(String[] args) 위 문장에 대해 알아본다라는 것은 크게 세 가지를 알아본다라고 정리할 수 있을 것 같습니다. 1. main 메소드는 무엇인가? 2. main 메소드의 매개 변수인 String[] args는 무엇인가? 3. ma..
[프로그래머스] 주차 요금 계산 - Python
2022. 2. 6. 02:24
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 😀 풀이 주차 요금 계산 문제는 입차하는 차량과 출차하는 차량을 관리하는 dictionary, 각 차량의 주차 시간을 관리하는 dictionary 즉, 두 개의 dictiona..
[프로그래머스] [3차] n진수 게임 - Python
2022. 2. 4. 00:51
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 😀 풀이 본 문제는 10진수로 주어진 숫자를 n진수로 변환하면 쉽게 풀 수 있는 구현 문제입니다. n진수 변환의 경우 풀이 코드에 convert라는 함수로 정의해놓았습니다. 또한 진수 변환의 경우 참고할만한 코드가 많으므로 설명은 생략하겠습니다. 게임에 참여하는 인원(m)과 튜브가 미리 구할 숫자의 개수(t)를 고려해보았을 때 최대 t ..
[프로그래머스] [3차] 파일명 정렬 - Python
2022. 2. 1. 20:50
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 😀 풀이 본 문제는 주어진 파일명 배열을 몇 가지 조건에 따라 정렬하면 되는 문제입니다. 따라서 배열을 정렬하는 기준인 key 값에 적절한 함수를 넣어주면 풀이할 수 있음을 쉽게 떠올릴 수 있습니다. 문제에서 주어진 정렬 조건은 크게 두 가지가 있습니다. 1. HEAD 부분 HEAD 부분의 경우 파일명의 맨 앞부분부터 숫자가 나오기 직전까지입..
[프로그래머스] 보석 쇼핑 - Python
2022. 1. 29. 23:15
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 😀 풀이 이 문제는 투 포인터를 이용하여 풀이하였습니다. 배열의 크기가 100,000으로 상당히 큰 편이고 이를 고려했을 때 시간 복잡도가 작은 자료구조를 써볼까, DP를 써볼까 등등이 머리를 스쳐갔지만 문제 상황 자체가 조건에 맞는 왼쪽 진열대 인덱스와 오른쪽 진열대 인덱스를 찾는 것이므로 투 포인터를 사용하면서 적절한 자료구조를 쓰면 문제 풀이가 가능하겠다고 생각했습니다. 우선 코드를 작성하기 전 ..
[프로그래머스] [3차] 방금그곡 - Python
2022. 1. 28. 21:44
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17683?language=python3 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 😀 풀이 방금그곡 문제는 문제 조건에 따라 충실히 구현하면 되는 문제입니다. 각 음악 정보에 대해서 시간 길이만큼 음을 반복하여 배열에 넣어주고 이 배열이 네오가 들은 음들을 포함하고 있는지 체크하면 되는 문제입니다. 문제 해결을 위해 필요한 과정들을 함수들로 빼서 구현했는데 음을 배열로 교체하고 이 배열이 네..
[프로그래머스] [3차] 압축 - Python
2022. 1. 27. 23:25
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 😀 풀이 위 문제는 아래 사진과 같은 조건을 따라 그대로 구현하면 되는 문제입니다. 1 ~ 5번 과정이 각각 풀이 코드의 라인 한 개씩과 매칭되어 따로 문제 풀이과정을 설명하지 않고 해당 과정을 구현한 부분에 주석을 남겨놨습니다. 추가로 findLongestWord라는 재귀함수를 만들었는데 테스트케이스에서 recursionlimit으로 인한 런타임 에러가 발생하여 1,2번 라..