전체 글 109

좋은 개발자가 되기 위해서 노력해야 할 점. (다짐)

https://www.youtube.com/watch?v=2to3IQFhZVo 채용 담당자가 말하는 '꼭' 뽑고 싶은 신입 개발자 특징은? | 개발자 특집 4편 위 영상을 보고 많이 느낀 점이 많아서 블로그에 기록하고자 글을 씁니다. 위 영상의 내용을 간략하게 말하자면, 채용 담당자의 입장에서 꼭 뽑고싶은 개발자와 뽑기 싫은 개발자의 특징을 중요한 순서대로 말하는 영상인데요. 그 중에서도 세 분의 채용 담당자님들께서 말씀하신 주니어 개발자에게 가장 중요한 것은 '자세/태도' > '문제 해결 능력' > '커뮤니케이션 능력' 입니다. (영상에 나온 세 분의 의견이 각각 달랐지만, 제가 판단했을 때 위 순서대로 가장 중요한 것 같다고 느꼈습니다.) 1. 자세/ 태도 자세와 태도. 그 중에서도 세 분이 공통적..

일기 2023.05.25

자바 ArrayList와 Array의 차이점

자바에서는 ArrayList라는 자료구조를 제공하고 있습니다. ArrayList는 자료형을 객체로만 할당할 수 있기 때문에, int와 같은 primitive type의 자료형을 사용하고 싶으면 자바에서 primitive type을 객체 타입으로 사용할 수 있도록(Ex. Integer, Double)제공하는 wrapper 클래스를 자료형으로 할당해야 합니다. 백준 온라인 저지 문제를 풀다가 ArrayList를 사용하면 아주 간단하게 해결되는 문제가 있어서 기록합니다. BOJ 2605번 문제입니다. ------------------------------------------------------------------------------------------------------------------- 점심..

자바 OOP 2023.05.22

자바 Singleton Pattern(싱글톤 패턴)이란?

싱글톤 패턴이란 Gang of Four 디자인패턴 중 생성패턴 중의 한 종류입니다. 프로그램에서 인스턴스가 단 하나만 생성되어야 하는 경우 사용되는 디자인패턴입니다. 자바에서 싱글톤 패턴을 사용하는 예제입니다. package ch0516_SingletonPattern; public class Student { private static Student INSTANCE = new Student(); private Student(){} public static Student getInstance(){ return INSTANCE; } } INSTANCE라는 멤버변수를 private static으로 new 키워드를 통해 생성합니다. 그리고 기본 생성자를 private으로 선언해서 외부에서 접근할 수 없도록 합..

자바 OOP 2023.05.17

Channel Impulse Response란?

저는 대구대학교 AI학부 Real Time Embedded System Lab에서 학부 연구생으로 IEEE 802.15.4z-2020 표준을 기반으로 한 실내위치인식(Localization System, Indoor Positioning)에 관하여 연구를 하고 있습니다. 이 기술이 나온지 시간이 오래 지나기도 했고 측정 정확도를 높일 수 있는 여러가지 알고리즘들이 현재 많이 나온 상태이지만, 저는 Deep Learning을 활용하여 더 높은 정확도를 가지는 시스템을 만드는데 노력을 하고 있습니다. 위치인식시스템에서 움직이는 물체인 Tag의 좌표를 구하기 위해서는, 고정되어 있는 Anchor와 움직이는 Tag간의 Ranging(거리측정)이 선행되어야 하는데요. 거리측정 과정에서의 CIR(Channel Im..

위치인식 연구 2023.05.14

SWEA 1206. [S/W 문제해결 기본] 1일차 - View (D3)

SWExpertAcademy 1206번 d3 난이도의 문제입니다. 문제: 강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다. 이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다. 그래서 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다. 빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오. 아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 따라서 답은 6이 된다. A와 B로 표시된 세대의 경우는..

알고리즘 2023.05.14

정보처리기사 필기시험 합격하고 느낀 점

정보처리기사 필기시험에 응시하고 합격했습니다. 대학교 4학년이라 기사 자격증을 반드시 따야하나 아니면 다른 프로젝트를 하는것이 좋을까 정말 고민이 많았습니다. okky커뮤니티와 여러 주변 분들의 말들을 종합해보면 "반드시 필요한건 아니다. 도움되는 것으로 따지면 sqld가 더 도움된다." 라는 의견이 대다수였습니다. 하지만 okky커뮤니티에서 본 한 댓글때문에 저는 공부를 시작했습니다. 내용인즉슨, 면접에서 "남들 다 따는 자격증이라 경쟁력이 없을 것 같아서 따지 않았다면,남들 자격증 딸 때 너는 어떤 걸 하셨나요?" 라는 말을 던졌을때 최소 정처기의 가치에는 맞먹는 무언가를 가져야 한다는 것이었습니다. 물론 데이터베이스를 깊게 공부할수도 있고, 백엔드 프로젝트를 할 수도 있지만 저는 일단 정처기 필기 ..

일기 2023.05.13

C언어 백준 알고리즘 11047번 (동전0)

이 문제는 그리디 알고리즘을 사용해서 푸는 문제이다. 그리디 알고리즘이란 선택의 순간마다 바로 눈 앞에 있는 가장 큰 이익, 최적의 상황만을 쫓아가는 탐욕적인 (Greedy) 알고리즘이다. 개인적으로 그리디 알고리즘의 가장 쉬운 문제라고 생각한다. 오름차순으로 동전의 가치가 입력되기 때문에 정렬을 해야 할 필요가 없기 때문이다. #include #include int main(void) { int num, money; int cnt = 0; scanf("%d %d", &num,&money); //테스트 케이스의 개수와 가치 값을 입력받는다. //printf("%d\n%d", num, money); int* arr; arr = (int*)malloc(sizeof(int) * num); // 테스트 케이스의..

알고리즘 2023.01.05

C언어 - 백준 알고리즘 1065번 (한수)

실버 4 등급의 문제이다. 이 문제는 문제를 이해하는 것이 아주 중요하다. 한수의 정의를 이해하는 것이 정말 어려웠다. 정수를 각 자리수로 분리해서 등차수열을 이루는 수가 한수이다. 예를 들어 134는 1 , 3, 4로 분리할 수 있는데 등차수열이 아닌 정수이다. 그러므로 134는 한수가 아니다. 135는 1, 3, 5로 분리할 수 있는데 공차가 2인 등차수열을 이루므로 한수라고 할 수 있다. 이 문제에서는 1000까지 정수로 한수의 개수를 구하는 문제인데 0~99까지는 공차가 1인 등차수열을 만족한다. 그래서 세자리의 정수만 고려하면 된다. 나는 처음에 문제를 접근하는 것이 너무 어려워서 저렇게 표를 만들어서 규칙을 찾으려고 정말 고생을 했는데 접근 방법이 잘못되었다. #include int hanso..

알고리즘 2023.01.05

C언어 - 백준 알고리즘 4344번(평균은 넘겠지)

배열 카테고리에서 가장 정답률이 낮은 마지막 문제이다. 처음으로 첫 제출에 답을 맞춘 것 같다. 기분이 매우 좋다. 전 문제는 숫자 0과 대문자 O를 헷갈려서 맞았는데도 계속 '틀렸습니다'만 나오길래 얼마나 화가 났었는데 속이 후련하다. #include #include #include int main(void) { int loop; //루프를 돌 횟수와 학생수 변수 선언 int num;//int stud[1000]; int score; //학생의 점수를 담는 변수 scanf("%d", &loop); //몇번 루프 돌 건지 입력받기 for (int i = 0; i < loop; i++) { int avg = 0; //평균 값을 담을 변수 int cnt = 0; //평균이 넘는 학생들의 수를 담는 변수 fl..

알고리즘 2022.12.21