전체 글 47

[프로그래머스]짝수의 합 - 반복문 활용, if문 활용

[코드]class Solution { public int solution(int n) { int answer = 0; for(int i = 2; i  [해설] i를 2부터 시작하고 2씩 더해 n까지의 짝수를 모두 출력한 뒤에 answer += i로 출력한 값을 더할 수 있었다. [다른 문제풀이] - if 문 활용class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i  [해설]i를 1에서 시작하여 1씩 더하되 if문을 활용하여 만약 i가 2로 나눠서 0인 값이 나온다면, 즉 짝수일 때만 값을 출력하게 만들었다.

프로그래머스 2024.09.05

[프로그래머스] 삼항 연산자 / 문제 / 조건문 활용

삼항 연산자란? 비교 연산의 결과값에 따라 응답할 값을 직접 저장할 수 있는 연산자이다. 삼항 연산자는 3가지 피연산자가 존재해서 삼항 연산자라고 한다.(조건)(참결과)(거짓결과)표기방법더보기(조건) ? (참결과) : (거짓결과) [문제]class Solution { public int solution(int num1, int num2) { return (num1 == num2) ? 1 : -1; }}  if(조건문) 활용class Solution { public int solution(int num1, int num2) { if(num1 == num2){ return 1; } else return -1; ..

프로그래머스 2024.09.04

JVM 정리

JVM 이란?더보기Java Virtual Machine의 약자로 "자바 가상 머신"이라고 한다.Java 프로그램을 실행시킬 수 있는 가상의 기기이다.JVM 구성1. 바이트 코드(.class)내가 작성한 코드(.java)가 운영체제가 읽을 수 있도록 Java 컴파일러가 변환한 코드이다.2. 인터프리터운영체제가 읽은 바이트 코드를 기계가 실행할 수 있는 기계어로 번역해준다.3. JIT 컴파일러빠른 Java.class 코드 해석기이다.인터프리터의 효율을 높여주는 서포터 해석기이다.4. 메모리 영역Java데이터를 저장하는 영역이다.5. 클래스 로더Java .class 바이트 코드를 메모리 영역에 담는 운반기이다.JVM으로 바이트 코드를 불러와서 메모리에 저장한다.6. 가비지 컬렉터메모리 영역에서 안 쓰는 데이터..

Java 2024.09.03

Git&GitHub 강의 정리-3

실전 협업에는 어떻게 쓰일까? main 브랜치는 배포용으로 사용한다. 팀원 사람들이 바로 main 브랜치에다가 merge를 한다면 여러 문제점이 발생할 수 있다.문제점과 해결책1. 완벽하게 기능 개발해야 merge가 가능하다. 하나의 파트를 만드는데 실행 없이는 오랜 기간이 든다. 그리고 버그를 수정하기 위해서는 실행을 해야하는데 그렇다고 배포용인 main 브랜치에 merge를 하는 건 옳지 않다. 예를 들어 a브랜치에 사용한 변수 명과 b브랜치에 사용한 변수명이 같은 경우에는 main 브랜치에 merge한 후 실행을 한다면 버그가 일어날 수 있다. 해결책) 개발용 브랜치를 만든다. develop 브랜치를 만들어 테스트용으로 사용한다.  dev 브랜치를 거치지 않고 바로 main에 merge한 후 실행을..

GitHub 2024.09.02

Git&GitHub 강의 정리-2

브랜치가 필요한 이유원래 파일을 그대로 보존하면서 수정을 하고 싶을 때브랜치 == 복사본메인 서버에서 수정하고 옮기면 충돌이 발생할 수 있다.여러 인원이 효율적으로 수정이 가능브랜치 생성 명령어git branch 브랜치명*는 현재 있는 위치를 말한다. 브랜치 이동 명령어1. git switch 브랜치명 : 주로 사용2. git checkout 브랜치명  브랜치 한 번에 생성 후 이동하는 명령어1. git switch -c 브랜치명 2. git checkout -b 브랜치명  브랜치 합치는 명령어git switch 최종브랜치 이름 → git merge 합칠브랜치사실 터미널에서 git merge를 잘 쓰지 않는다.왜냐하면 github에서 merge하기 때문Pull Requestmain 말고 login 브랜치..

GitHub 2024.09.02

2024.08.30 첫 번째 팀 프로젝트를 마치며

생각해 보면 짧은 기간이지만 12시간 동안 함께해서 그런지 전우애 같은 애틋한(?) 감정이 남아있다. 첫날 어색한 분위기에서 용기를 내 말을 열었다. 조별과제를 하면 항상 빌런(?)이 있다는 전설이 있는데 다행스럽게도 모두 좋은 사람들이었다. 각자 프로젝트에 열정적으로 참여해 좋았고 이제 각자 떠나야 하는 상황에 아쉬움만 남아있다. 비전공자이지만 발표하고 싶어요.  나는 처음부터 발표를 하고 싶었다. 왜냐하면 나도 조원들에게 도움이 되고 싶었고 비전공자인 실무에 내가 빠르게 적응하기 위해선 몸으로 부딪쳐야 된다고 생각했기 때문이다. 발표는 좋은 것이라고 생각한다. 많은 사람들 앞에서 자신의 생각을 말할 수 있는 건 흔하지 않기 때문이다. 자신의 생각을 정리하고 그것을 말로 표현하는 것 마치 프로그래밍과 ..

끄적끄적 2024.08.30

[프로그래머스][MySQL]오랜 기간 보호한 동물- LEFT JOIN 활용

[문제설명]테이블 ANIMAL_INS테이블 ANIMAL_OUTS[문제]문제 키워드와 알아야할 개념입양을 못 간 동물 → LEFT JOIN 가장 오래 보호소에 있는 동물 3마리 → LIMIT 이름과 보호 시작일을 조회 → SELECT NAME, DATETIME결과는 보호 시작일 순 → ORDER BY ASC 문제 풀이[LEFT JOIN 활용]SELECT INS.NAME, INS.DATETIMEFROM ANIMAL_INS AS INS LEFT JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_IDWHERE OUTS.ANIMAL_ID IS NULLORDER BY DATETIME ASCLIMIT 3; 결과   [출처:프로그래머스https://schoo..

프로그래머스 2024.08.29

[TIL] 2024.08.28

오늘 한 일코트카타 제출Git 복습팀 프로젝트배경 추가이미지 변경(png  → gif)자기소개 텍스트 보완오늘 소감 시간이 빨리 지나갔다. 12시간 동안 쉬지도 않고 쭉 달렸는데 여전히 바쁘다. 확실히 사전 지식이 없어서 오래 걸리는 것 같다. 공부를 해도 바로 실무에 적용하기가 쉽지 않다. 팀 프로젝트에서 민폐를 끼치지 않기 위해 내가 할 수 있는 것들은 모두 하려고 노력했다. 사소한 거라도 직접 해보려고 손을 들었다. 다행히 너그러운 조원들 덕분에 기회가 생겨 좋았다. 전체 결과물에 비해 내가 직접 코드를 짠 부분은 작았지만 인터넷을 찾아다니며 코드를 참고해 작성하니까 천천히 앞으로 나아가는 듯한 느낌을 들어 작은 자신감이 생겼다. 아직 코딩은 서툴지만 다른 분야에서 도움이 되고자 발표자를 지원했다...

TIL 2024.08.28

[프로그래머스][MySQL]입양 시각 구하기-HOUR,WHERE, HAVING 활용

[입양 시각 구하기] 문제 더보기각 시간대 별로 발생한 입양의 건수시간 순으로 정렬   알아야 할 개념더보기 입양의 건수 : COUNT시간을 추출 : HOUR(시간을 0~23의 '정수'로 반환)분류 조건 : WHERE or HAVING그룹으로 정렬 : GROUP BY 시간 순으로 정렬 : ORDER BY WHERE과 HAVING의 차이점 WHERE더보기개별 행에 적용단일 테이블에서 데이터를 가져 오거나 여러 테이블과 결합하여 조건을 지정하는데 사용한다.have절에 포함된 하위 쿼리에 있지않으면 집계함수와 함께 사용할 수 없다.(집계함수란, COUNT, MIN, MAX, SUM, AVG등등이 있다.)Group by 절 앞에 사용한다. HAVING더보기WHERE절과 비슷하지만 그룹 전체 즉, 그룹을 나타내는..

프로그래머스 2024.08.27

Git&GitHub 강의 정리-1

Git&GitHub깃(Git) : 파일의 변경사항을 추적하고 기록함.  소프트웨어 개발에서 소스 코드 관리에 주로 사용한다.깃허브(GitHub) : 백업과 공유가 가능한 온라인 코드 저장소이며 덕분에 협업이 가능하다. Visual studio code 터미널 여는 법윈도우 사용자는 bash or git bash로 열어야 한다. 리눅스 필수 명렁어1. pwd(printworkingdirectory)현재 내가 작업하는 폴더(Users/developsoo)를 보여달라는 뜻이다.'~'는 Home(홈)이라는 경로이며, 우리가 보는 데스크탑 보다 더 상위의 폴더를 말한다.  2. ls(list)내 폴더 안에 있는 폴더 & 파일 내역을 보여준다.3. ls-a(listall)숨겨진 파일(보통 . 으로 시작함)도 모두 ..

GitHub 2024.08.26