분류 전체보기 178

[프로그래머스] level1.자연수 뒤집어 배열로 만들기 - 개발자 배찌

풀이과정 1. 매개변수로 받은 long형 n을 string으로 변환하고, ArrayList 형 list에 거꾸로 for 문 돌리면서 값을 담았다. 그런 다음, int[] 형 answer에 다시 담아서 return 해줌! ㅇ_ㅇ.... 효율성이 안좋은 듯 한 코드이다.. import java.util.*; class Solution { public int[] solution(long n) { String x = String.valueOf(n); ArrayList list = new ArrayList(); int[] answer = new int[x.length()]; for(int i = x.length()-1; i >= 0; i--){ String y = x.substring(i,i+1); list.ad..

[프로그래머스] level1.같은 숫자는 싫어 - 개발자 배찌

내가 헤맸던 부분은 문제를 제대로 읽지 않아서 였다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은수들을 return 하는 함수를 완성해주세요. 연속적인 숫자는 모두 제거하라는 뜻인줄 알아서 계속 다르게 풀고있었다.. 결국 이 문제도 다른 블로그를 참고하며 풀었다. level1 인데..뚜쉬뚜쉬......😣 풀이과정 1. value 초기값을 -1로 지정해놓고, arr에 담긴 숫자들을 차례대로 하나씩 비교했다. 연속된 값이 같지 않을때는 ArrayList 형의 list에 add !! list에 담긴 애들을 answer에 차례대로 넣었다. import java.util.*; public class Solution { public int[] solution(int []arr) { int value =..

[기술면접준비] 2022.05.10

OOP란? - Object Oriented Programing. 객체 지향 프로그래밍. - 객체의 관점에서 프로그래밍 하는 것. 코드의 재사용성과 중복제거가 가장 큰 목적 - 객체들의 유기적인 관계를 통해서 프로세스가 진행된다. 반면에 c언어는 절차지향프로그래밍인데, 프로세스가 함수 단위로 순서대로 진행된다. - OOP의 특징은 추상화, 캡슐화, 상속, 다형성이다. OOP 특징 - 추상화 : 객체의 공통된 속성을 클래스로 정의하는 설계 기법 - 캡슐화 : 외부에 노출할 필요가 없는 정보들은 은닉 (정보은닉) - 상속 : 상속 관계에 있는 두 클래스에 대해, 부모 클래스가 자손 클래스에게 속성을 물려주는 것. 코드의 재사용이 목적 - 다형성 : 같은 형태이지만 다른 기능을 하는 것. 오버라이딩은 이와 관련..

기술면접 2022.05.10

[프로그래머스] level1. 제일 작은 수 제거하기 - 개발자 배찌

level1 인데... 이렇게 한참이나 생각할 줄이야...!! 끝내 완성하지 못하고 구글링을 한 나 자신...ㅎ 반성하며 여러가지 방법으로 풀어보기로 했다. 풀이과정 -1 입력된 arr 배열에서 가장 작은 수를 뽑아내고, (Math.min 활용) answer 배열에 그 작은수를 제외한 나머지 값을 넣어주었다. (for문 활용) arr배열에 값이 1개이면 answer={-1}을 넣어주었다. (if문 활용) 나는 Math.min 을 활용하지 못했고, for문을 돌리면서 min을 추려냈는데 너무 시간이 오래걸렸다. 배열의 최솟값을 뽑아내는 Math.min 기억하기!!!!!✅✅✅ import java.util.*; class Solution { public int[] solution(int[] arr) { if..

[기술면접준비] REST API 란? (REST, REST API, RESTful API)

1. URI와 URL의 차이점은? URL은 Uniform Resource Lacator : 인터넷 상 자원의 위치 URI는 Uniform Resulrce Identifier : 인터넷 상의 자원을 식별하기 위한 문자열의 구성 URI > URL URI가 더 포괄적인 범위라고 할 수 있다. 2. REST, REST API, RESTful API 를 설명하세요 - REST의 개념 어떤 자원에 대해 CRUD 연산을 수행하기 위해 URI(Resource) 형태로 GET, POST 등의 방식(Method)을 사용하여 요청을 보내며, 요청을 위한 자원은 특정한 형태(Representation of Resource)로 표현된다. - REST는 REpresentational State Transfer의 약자. 자원을 이..

기술면접 2022.05.09

[알고리즘] 유클리드 호제법 - 최대공약수/최소공배수 문제

유클리드 호제법이란? (=유클리드 알고리즘) - 2개의 자연수의 최대공약수를 구하는 알고리즘의 하나. - 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘. 원리 - 2개의 자연수 a,b에 대해서 (a>b) a를 b로 나눈 나머지를 r이라고 하면 a와 b의 최대공약수는 b와 r의 최대공약수와 같다. r을 구하는 과정을 반복하여 r이 0이 되었을 때, 나누는 수가 a와 b의 최대공약수이다. java public static int gcd(int p, int q) { if (q == 0) return p; return gcd(q, p%q); } 최소공배수 구하는 공식은? a * b / 최대공약수 코드 완성본 class Solution { public int[] solution(int n, ..

알고리즘 (JAVA) 2022.05.09

[리액트] github.io 프로젝트 생성하기 (+ github push)

1. npm i gh-pages 터미널에서 설치 - 결과물을 github pages에 업로드 할 수 있게 해주는 nice 한 패키지 - github에서 제공하는 무료 서비스!! - 파일을 올리면 웹사이트로 만들어서 무료로 배포해줌!! 2. package.json 파일의 맨아래에 추가해주기 "homepage": "https://{github username}.github.io/{github repository}" - github repository 가 없다면 깃허브에서 먼저 생성해주어야함. - git remote -v 실행하면 repository 이름을 확인할 수 있음. 3. package.json파일의 scripts에 추가해주기 "deploy" : "gh-pages -d build" "predeploy"..

JAVASCRIPT/REACT.JS 2022.05.03

[독서] "객체지향의 사실과 오해" 7일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 금 | Assignment #7 📚 7장. 함께 모으기 ✔️ TIL 오늘 TIL 3줄 요약 명세관점, 구현관점, 개념관점 명세관점과 구현관점을 명확하게 분리해야한다. 인터페이스 TIL (Today I Learned) 날짜 2022.04.22 오늘 읽은 범위 7장. 함께 모으기 책에서 기억하고 싶은 내용을 써보세요. 개념관점에서 코드를 바라보면, 도메인을 구성하는 중요한 개념과 관계를 반영한다는 사실을 쉽게 알 수 있다. (p.226) 명세관점은 클래스의 인터페이스를 바라본다. (p.226) 구현관점은 클래스 내부 구현을 바라본다. (p.227) 개념관점, 명세관점, 구현관점은 동일한 코드를 바라보는 서로 다른 관점이다.(p.227) 다..

[독서] "객체지향의 사실과 오해" 6일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 목 | Assignment #6 📚 6장. 객체 지도 ✔️ TIL 오늘 TIL 3줄 요약 도메인, 유스케이스, 객체와의 관계 구조적인 객체 전략패턴,, 기능이 변경될 때, 추상화된 객체를 적절히 활용하여 상속받아 수정된 기능만 갈아끼우면서, 수정에 용이해한다는것. TIL (Today I Learned) 날짜 2022.04.21 오늘 읽은 범위 6장. 객체 지도 책에서 기억하고 싶은 내용을 써보세요. 자주 변경되는 기능이 아니라 안정적인 구조를 따라 역할, 책임, 협력을 구성하라. 이것이 이번장의 주제다.(p.180) 안정적인 도메인 모델을 기반으로 시스템 기능을 구현하라. 도메인 모델과 코드를 밀접하게 연관시키기 위해 노력하라. 그것이..