본문 바로가기
반응형

전체 글379

[Java] 백준 11659 구간 합 구하기 4 (자료구조1,구간합/합배열) https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net [문제분석] 특정 인덱스 구간의 배열 데이터들을 전부 더해야 하므로 합배열을 이용한 구간 합 알고리즘을 사용해야 한다. [진행순서] 1. 데이터개수, 문제개수 입력받기 2. 입력받았던 데이터 개수만큼 합배열 선언 3. 입력받았던 문제 개수만큼 구간합 출력 import java.io.BufferedReader; import java.io.IOException; import j.. 2023. 9. 1.
[Java] 백준 11720 숫자의 합 (자료구조1) https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net [문제분석] - 입력 중심으로 분석한다. 숫자 개수가 1부터 100개이기 때문에 숫자형 자료형 사용 불가. [진행순서] 1. 첫번째 숫자개수 입력받기 2. 두번째 숫자 String 으로 입력받기 3. 두번째 숫자를 char[] 에 넣기 -> int[] 안쓰는 이유는 toCharArray 쓰려구.. 4. [] 길이만큼 반복해서 더하고 출력하기 [문제풀이] import java.util.Scanner; public class Main { /* * [백준 11720] * 문제: N개의.. 2023. 8. 31.
[Java] 선형검색 보초법 자바 코드 예시 알고리즘 보초법(Sentinel Search) 보초(sentinel)라는 특별한 값을 사용하여 검색 성능을 개선하는 방법. 보초값 찾아야 하는 값 보초법 구현 방법 배열의 마지막 요소에 임시로 보초값을 추가하고 검색을 마친 후에 배열을 원래 값으로 복원하는 방식으로 이루어짐 + 자바같은 경우는 배열 길이를 늘릴 수 없기 때문에 (ArrayList 로 구현하는 방식 제외) 기존 끝 값을 보초값으로 변경 -> 탐색 -> 다시 원래 배열로 돌리는 방식으로 탐색 보초법 구현 순서 1. 보초값 설정 (찐배열 > 짭배열) 2. 짭배열에서 찾을 값 찾아서 위치 저장 3. 찾을 값 찾으면 배열 돌려놓기 (짭배열 > 찐배열) 4. 위치 찾았는지 판단 코드 예시 import java.util.Scanner; public .. 2023. 8. 12.
[Java] 선형 검색 알고리즘 예시 코드(linear search) import java.util.ArrayList; import java.util.Scanner; public class LinearSearch { public int 인덱스알려줌(ArrayList 배열, int 찾을값){ for (int i = 0; i 2023. 8. 12.
[JavaScript] Prototype이 뭘까용(2) (Prototype 상속기능 직접 만들어보기) Prototype 은 부모의 정보 Prototype 은 생성자로 만들어야 나옵니다. 당연하죠 왜냐면 Prototype 은 부모의 정보니까요! array 로 prototype 알아보기 - 부모 정보 찍어보기 Array.prototype Array() 의 prototype 을 찍어보겠습니다. 잘은 모르겠지만 constructor 인 것만은 확실해졌네요! 심지어 더 밑으로 내려가보니 Object… Array() 의 부모의 부모는 Object 였어요 array 로 prototype 알아보기 - __proto__ 와 prototype let arr = new Array() arr = [1,2,3] arr.__proto__ Array.prototype 이렇게 한번 찍어봅시당 자식.__proto__ 랑 부모.prot.. 2023. 7. 9.
[개발자 일기] 개발자가 지원자 360개 서류 체크를 하며 느낀점 - 사람인 이력서 보기좋기 쓰는 팁 (이건 개발자 일기일까 아닐까....) 0. 시작스타트업으로 이직하고 나서 같이 일할 개발자를 뽑게 되었습니다. 요즘 경제 불황이여서 그런가... 조그만한 회사인데도 이력서가 많이 들어왔더라구요덕분에 여러 사람들의 경력을 확인하면서 저를 돌아보게 되는 계기가 되었습니다. (세상에 열심히 사는 사람이 많구나…) 근데 엄청난 기술스택과 멋진 토이를 갖고 있으시면서 이를 잘 표현하지 못하신 분들이 많더라구요 안타까운 마음 + 나도 그러지 말아야겠다 + 이를 알려야겠다 는 생각에 글을 한번 써볼까 합니다... 1. pdf 로 이력서 올리지 마세용 (중요중요중요!!!)가끔 이력서에 아무 내용 없이 pdf 만 올린 사람이 있습니다. 이러면 곤란해용.. 왜냐면 이렇게 되거든요… 그럼 들어가서 다운받으면 되지 왜 그럴.. 2023. 7. 9.
[JavaScript] Prototype이 뭘까용(1) (난 length 를 만든적이없는데 배열에 써지네?...) 시작하기 전….. 참조형 데이터 타입을 찍어볼께요 여기 안에 prototype 이라는 애가 있네용 잘 살펴보면 객체 안에는 Object, 배열 안에는 Array(0) 이 라고 적혀있습니댜 object 의 prototype을 펼쳐보면 뭔가 많이 나옵니다. toString, valueOf 같은 익숙한 함수도 보이네요 array 의 prototype를 펼쳐보면 배열에서 사용할 수 있는 함수들이 보이고 맨 마지막에 또 prototype Object 가 보이네요! 그래서 prototoye 이 뭐냐면요!! Prototype 부모의 정보 Protoype 특징 1. 자식이 부모의 데이터를 사용 할 수 있습니다. 2. 자식이 부모의 부모의 데이터를 사용할 수 있습니다. 3. 자식이 부모의 부모의 부모의….. 부모의 데.. 2023. 6. 25.
[JavaScript] 생성자(2) Constructor 이렇게 사용합니다. https://gallery-k.tistory.com/430 [JavaScript] 생성자 (1) Constructor, 생성자를 사용하는 이유 생성자 object 를 여러개 만들 때 사용 생성자를 사용하는 이유 참조형 데이터 타입인 object 를 복사해서 쓰려고 (+ 객체지향적인 코딩을 위해서 라고 말하면 간지남) 데이터 타입 종류? 기본형 참 gallery-k.tistory.com 생성자 사용1_ 객체 복사하기 // Constructor function 생성자(){ this.data1 = 'data1'; // instance this.data2 = 'data2'; // instance } let 객체1 = new 생성자() let 객체2 = new 생성자() 이제 객체1 과 객체 2 를 사용할 수 .. 2023. 6. 25.
[JavaScript] 생성자 (1) Constructor, 생성자를 사용하는 이유 생성자 object 를 여러개 만들 때 사용 생성자를 사용하는 이유 참조형 데이터 타입인 object 를 복사해서 쓰려고 (+ 객체지향적인 코딩을 위해서 라고 말하면 간지남) 데이터 타입 종류? 기본형 참조형 데이터 타입이 있습니다. 기본형 데이터 타입 : string number let 문자열 = '앙녕'; let 숫자 = 1; 참조형 데이터 타입 : array object let 배열 = [1,2,3] let 객체 = { a: '1', b: '2' } 기본형과 참조형의 차이 (복사) 둘의 제일 큰 차이점은 기본형 데이터 타입을 복사하면 값이 복사되고, 참조형 데이터 타입을 복사하면 주소값이 복사된다는 점이죠 그래서 참조형 데이터를 let 객체1 = {data:'data', data1:'data1'} .. 2023. 6. 25.
[html] sass,css 텍스트(p, h123 태그)에 그라데이션 색 넣기 대여/반납 현황 결과물 2023. 6. 20.
[JavaScript] Promise 사용해서 원하는 순서대로 코드 실행하기 Promise 원하는 코드 작동 후에, 결과에 따라서 원하는 순서대로 다음 코드를 실행하게 해주는 디자인 패턴 생긴거 /* eslint-disable */ export default () => { // promise 함수 선언 const 더하기함수 = new Promise( (성공,실패) => { // 원하는 코드 작성 if (1+1 === 2){ 성공(); }else{ 실패(); } }); // promise 함수 실행 더하기함수.then(() => { // 성공 시 실행 console.log('성공'); }).catch(() => { // 실패 시 실행 console.log('실패'); }); return( PromiseCode ) } 이렇게 생겼습니다. Promise 함수 선언 Promise 함수 .. 2023. 6. 13.
[JavaScript] 비동기 코드를 동기처럼 사용하기_콜백함수 용어정리 콜백 함수안의 함수 비동기 코드와 동기 코드가 섞여있을 경우, 동기적으로 실행시키고 싶을 때 사용 동기 위에서부터 아래로, 차례대로 실행되는 코드 비동기 비동기 코드가 있을 때 동기 -> 비동기 순으로 실행 콜백함수 근데 비동기 먼저 실행시키고 그 다음에 동기 코드를 실행시키고 싶을 때가 있는데 이때 콜백 함수를 써줍니다. 콜백함수는 함수안에 함수 라는 뜻이고 이 함수에 있는 거 실행시킨다음에 그 다음 함수 실행시켜주세요 라는 의미입니다. 콜백함수와 비동기 코드 대표적인 비동기 코드들을 살펴보면 // setTimeout setTimeout( () =>{},1000) 1초 지난 다음에 안에 코드를 실행해주세요 파라미터로 arrow function 이 들어있습니다. // 이벤트리스너 document.. 2023. 6. 13.
[JavaScript] 동기 비동기 특징 ( + Web Api) 동기 - synchronous - 위에서부터 아래로 차례대로 실행되는 코드 - 한번에 코드 한줄씩 차례차례 실행 - stack 에서 코드를 한줄씩 실행시킴 비동기 - asynchronous - 비동기적 코드 (fetch, 이벤트리스너, setTimeout, setState 함수...) 사용 시 빨리 처리되는 순서대로 실행되는 코드 - 실행이 오래걸리는 비동기적 코드들을 Web Api -> 큐에 넣어서 나중에 실행시키고, 실행이 바로 가능한 동기적 코드부터 stack 에서 꺼내서 실행시킴 - 자바스크립트 언어의 기능이 아니라 웹 브라우저의 기능 동기 비동기 실행 함수 /* eslint-disable */ export default () => { const sync = () =>{ console.log('동.. 2023. 6. 13.
[React] useState 사용하는이유 (1)_기본형 변수 useState 데이터 상태 관리를 위한 훅 입니당... useState 사용하는 이유 state 가 변하면 생기면 html도 자동으로 재렌더링해주기 때문입니다. useState 로 만든 버튼과, 일반 변수로 만든 버튼이 있습니다. /* eslint-disable */ import { useState, useReducer } from 'react' export default () => { const [ onoff, setOnOff] = useState(false); let onoff2 = false; const whenClick=()=> { console.log('useState의 값',onoff); setOnOff(!onoff); } const whenClick2=()=> { console.log('일.. 2023. 6. 12.
[React] useReducer 뜻과 의미, 완전쉽게 사용해보기😃 useReducer useState 대체 훅 입니다. useState 로는 보통 숫자형 문자열 같은 간단한 데이터를 관리하는데 반해 useReducer 는 객체 같은 복잡한 데이터를 관리합니다. 저도 예전에 회원정보 관리할때 로그인 상태를 관리하기 위해서 useReducer 를 사용했는데 처음에 익힐때는 어려웠지만 한번 써보니까 굉장히 편하더라구여 useReducer 사용해보기 버튼 눌렀을 때 값을 증가/감소 시키는 로직을 useReducer 훅을 사용해서 짜왔습니다. /* eslint-disable */ import { useReducer } from 'react' export default () => { const initialState = { count: 0 }; function reducer(st.. 2023. 6. 10.
반응형