전체 글

·java
프로그래밍 언어는 크게 컴파일 언어와 인터프리터 언어로 나뉜다. 컴파일 언어란?컴파일 언어는 소스 코드 전체를 기계어로 한 번에 변환한 후 실행한다. 대표적인 예로는 Java, C, C++, Golang  등이 있다. 인터프리터 언어란?인터프리터 언어는 기계어로 변환하는 과정이 필요하지 않아서, 소스 코드를 한 줄씩 읽으면서 바로 실행한다. 대표적인 예로는  Python, Ruby 등이 있다. 컴파일 언어와 인터프리터 언어의 차이점컴파일 언어는 '실행 속도'가 빠른 것이 장점이다. 코드 전체를 기계어로 한번에 번역한 후 실행하기 때문에, 실행 시간이 빠른 것이다.  이이 비해 인터프리터 언어는 한 줄씩 읽어 가면서 실행하기 때문에 상대적으로 실행 속도가 느리다.  번역과정이 없는 인터프리터와 달리 컴파일..
오늘의 문제https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  나의 풀이import java.util.*;class Solution { public int solution(int[][] sizes) { int height = 0; int weight = 0; for(int i=0; i  알게 된 점완전 탐색 문제를 처음 풀이해봤다. 완전 탐색은 모든 가능한 경우의 수를 탐색해서 최적의 결과를 ..
오늘의 문제https://leetcode.com/problems/count-pairs-whose-sum-is-less-than-target/  나의 풀이class Solution { public int countPairs(List nums, int target) { int answer = 0; for(int i=0; i 🎯 다른 사람 코드import java.util.Collections;import java.util.List;class Solution { public int countPairs(List nums, int target) { Collections.sort(nums); int count = 0; int ..
오늘의 문제https://leetcode.com/problems/valid-parentheses/description/  나의 풀이class Solution { public boolean isValid(String s) { // stack Stack stack = new Stack(); for(char c : s.toCharArray()){ // 열린괄호 넣기 if("([{".contains(String.valueOf(c))){ stack.push(c); } // 닫힌괄호인 경우 else { ..
오늘의 문제https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 풀이import java.util.*;public class Solution { public int[] solution(int []arr) { List list = new ArrayList(); list.add(arr[0]); for (int i = 1; i   🎯 다른사람 풀이import java.util.*;public class Sol..
두둥! 코테스터디 2일차!! 오늘도 어제처럼 Hash 관련 문제다.오늘의 문제https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 풀이import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap map = new HashMap();..
알고리즘 공부와 코딩테스트 준비도 해볼 겸, 코테스터디를 신청했다.그리고 오늘이 첫 날!!코테공부는 굳이 블로그에 적고 싶지는 않았지만, 꾸준히 TIL을 작성해보기로 했기에 작성해본다😋 오늘의 문제https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  나의 풀이키워드인 Hash를 사용해서 푸는 문제였다.문제자체는 어렵지 않았는데, 알고리즘 적 생각회로가 익숙하지가 않아서 슬펐다🤣시간 복잡도는 O(n)이다.import java...
·프로젝트
프로젝트에서 간단하게 '좋아요' 기능을 구현하였다.단순히 개발하는 것은 어렵지 않지만,개발과정에서 어떻게 설계를 하고 어떤 방식으로 구현하는 것이 더 효율적인지 고민을 해보려고 노력했다. 설계와 고민-  좋아요 기능과 취소 기능 API의 분리를 해야할까 좋아요 기능을 개발할 때, 보통 좋아요 API와 취소 API 분리하느냐에 대한 고민들을 많이 한다.나 역시도 고민을 많이 했는데, 최종적으로는 두 기능을 분리하여 API를 개발하였다. 처음에는 하나의 API로 개발했다.개인 프로젝트이고, 좋아요자체에 부가적인 기능이 없기 때문에 하나의 API만으로도 충분하다고 생각했다.그리고 (프론트없이 백엔드만 개발하고 있어서) API 두개보다는 하나로 호출하는 것이 효율적이라고 생각했기 때문이다. 하지만 아래와 같은 ..
콘팡
콘팡아 공부하자