반응형
전체 글

전체 글

    [BOJ][Java] 9012번 - 괄호

    문제 백준 9012번 문제: 괄호 문제 설명 주어진 문자열이 올바른 괄호열인지 판단하는 문제 문제 풀이 입력 데이터의 수(n)만큼 반복문을 돈다. 빈 스택과 vps 판별 boolean 값을 초기값으로 둔다. 문자열 하나씩 비교하기 위해 문자열 길이만큼 반복문을 돈다. (이면 스택에 넣는다. )이면서 스택이 비어있지 않으면 스택에 있는 마지막 요소를 pop하여 제거한다. 여기서 스택에서 제거하는 이유는, vps라면 짝이 맞기 때문에 마지막에는 스택이 비워져야 맞는 것이기 때문이다. )이면서 스택이 비어 있으면 (가 스택에 없다는 뜻이므로 vps를 false로 바꾸고 for문을 멈춘다. 만약 반복문을 다 돌았는데 스택이 비어있지 않다면 vps를 false로 변경해 예외 처리를 해 준다. vps가 true이면..

    [BOJ][Java] 10773번 - 제로

    문제 백준 10773번 문제: 제로 문제 설명 가장 최근에 쓴 수를 지우는 문제 Stack을 이용해 푸는 문제이다. 풀이 과정 k만큼 반복문을 돌면서 그 값이 0인지 아닌지를 판별한다. 0이 아니면 stack에 넣고 0이면 pop하여 가장 최신의 값을 뺀다. 최종 값을 계산하기 위해 stack이 비어있는지 확인한다. 비어 있으면 0을 출력한다. 값이 있으면 모든 숫자를 pop하면서 더하고 더한 값을 출력한다. 성공 코드 import java.util.Scanner; import java.util.Stack; public class Main{ public static void main(String[] args){ Scanner s=new Scanner(System.in); int k, sum; k = s...

    [BOJ][Java] 10828번 - 스택

    문제 백준 10828번 문제: 스택 문제 설명 스택의 개념을 익히고 실습하는 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하는 문제 스택을 선언하고 5개의 명령어(push, pop, size, empty, top)를 구분지어 각각의 명령어에 해당하는 값을 출력하도록 한다. Java에는 스택이라는 자료구조를 사용할 수 있어서 import만 시키면 거의 동일한 명령어를 사용할 수 있다. 성공 코드 import java.util.Scanner; import java.util.Stack; public class Main{ public static void main(String[] args){ Scanner s=new Scanner(System.in); int n =..

    [BOJ][Java] 3036번 - 링

    문제 백준 3036번 문제: 링 문제 설명 첫번째 링을 한 바퀴 돌렸을 때, 나머지 링이 몇바퀴 도는 지 구하는 문제 처음 입력된 수의 개수만큼 한 줄에 입력된다. 입력된 N개의 수를 첫번째 수를 나머지 수와 나눠서 생긴 값을 분수로 출력할 수 있게 하면 된다. ㅁ/ㅇ 형태로 값을 출력하려면 값을 따로 따로 출력해야 한다. 그래서 만약 수가 12 3 8 4와 같이 입력된다면, 12와 3의 최대공약수를 구해 12와 3을 나눠서 /와 함께 합쳐야 한다. 나머지 수인 8과 4도 위와 똑같이 처리해 주면 된다. for문을 돌며 반복 처리될 수 있도록 하면 해결된다. 성공 코드 import java.io.IOException; import java.util.Scanner; public class Main { pu..

    [러닝자바스크립트] 9장. 객체와 객체지향 프로그래밍

    9장. 객체와 객체지향 프로그래밍 목차 프로퍼티 나열 객체지향 프로그래밍 다중 상속, 믹스인, 인터페이스 :one: 프로퍼티 나열 배열 vs 객체 비슷한 점: 컨테이너 다른 점 배열 객체 저장 값 *프로퍼티 인덱스 숫자형 문자열, 심볼 순서 있음 보장 안됨 프로퍼티: 키(문자열, 심볼) + 값 객체는 키를 통해 프로퍼티에 접근할 수 있음 프로퍼티 나열 방법 1: for...in 키가 심볼인 프로퍼티는 포함되지 않음 배열에도 사용할 수 있지만 좋은 방법은 아닌 이유 순서를 보장하지 않음 열거할 수 없는 프로퍼티의 존재 (length와 같은 배열 내의 프로퍼티 사용 불가) 프로토타입 상속한 프로퍼티도 나열함 hasOwnProperty() 메소드 객체가 특정 프로퍼티를 가지고 있는지를 나타내는 불리언 값을 반..

    [러닝자바스크립트] 5장. 표현식과 연산자

    표현식 값이 되는 것. 대부분 연산자 표현식 표현식의 결과를 변수, 상수, 프로퍼티에 할당 가능. 연산자 우선순위 자바스크립트가 평가식을 표현하는 순서 연산자 값을 만드는 행동 단항 부정과 단항 플러스 자바스크립트에서는 10 % 3.6도 계산 가능함 const a = 5; const x = 3 ### ###a; // x = 8; const b = "5"; const y = 3 + +5; //y = 8; NaN(특별한 숫자형 값) 무엇과도 같지 않음 Nan === Nan; // false Nan == Nan; // false 산술 연산자 let x = 2; const r1 = x++ + x++; // 2 + 3 = 5 const r2 = ++x + ++x; // 5 + 6 = 11 const r3 = x+..

    [러닝자바스크립트] 4장. 제어문

    for 루프의 다른 패턴 초기화, 표현식에 여러 문 결합 가능 //출력: 1 2 3 5 8 13 21 for (let temp, i = 0, j = 1; j < 30; temp = i, i = j, j = i + temp) console.log(j); for...in 루프 // player.hasOwnProperty 메소드를 생략하면 에러 발생 많음. const player = { name: "Thomas", rank: "Midshipman", age: 25 }; for (let prop in player) { if (!player.hasOwnProperty(prop)) continue; console.log(prop + ": " + player[prop]); } /* 출력 * name: Thomas *..

    [러닝자바스크립트] 3장. 리터럴과 변수, 상수, 데이터 타입

    자바스크립트의 값: 원시 값 또는 객체 원시 값과 객체의 차이 let a = 3; let b = 3; console.log(a == b); //결과: true let obj1 = { a: 1, b: 2 }; let obj2 = { a: 1, b: 2 }; console.log(obj1 == obj2); //결과: false const a = 1; a = 5; //결과: 에러 const obj = { a: 1 }; obj.a = 5; console.log(obj.a); //결과: 5 변수(variable) 이름이 붙은 값. 언제든 바뀔 수 있음. 변수 선언 시 초기값 할당 안해도 됨. 상수(constant) 한 번 할당한 값을 바꿀 수 없음 상수 이름에는 대문자와 언더바만 사용. 변수 vs 상수 상수 wi..

    [러닝자바스크립트] 2장. 자바스크립트 개발 도구

    프로젝트 구조 .git # git es6 # 노드 소스 dist public/ # 브라우저 소스 es6/ dist/자바스크립트 개발도구 Git 연결 및 Commit 빌드 도구(gulp) 설치 gulp: 개발 과정에서 도움이 되는 개발 의존성 도구 트랜스컨파일러(babel) 설치 babel: ES5 --> ES6, ES6와 리액트, ES7 등을 지원하는 범용 트랜스컴파일러 babel과 gulp 함께 사용하도록 설정 gulpfile.js에 파이프로 연결 ESLint 설치 ESLint: 코드를 검토해 자주 일어나는 실수를 알려주는 프로그램.

    [러닝자바스크립트] 1장. 첫번째 애플리케이션

    See the Pen vYOKNwr by choisohyun (@choisohyun) on CodePen.

    [러닝 자바스크립트] 14장. 비동기적 프로그래밍

    14장. 비동기적 프로그래밍 목차 개요 콜백 프라미스 제너레이터 1. 개요 자바스크립트: 단일 스레드로 동작함(한 번에 한 가지 일만 가능) 부드럽게 동작하는 소프트웨어를 위해 비동기적 관점에서 문제를 생각해야 함 자바스크립트 비동기적 프로그래밍의 패러다임 콜백 Promise 제너레이터 제너레이터 자체는 비동기적 프로그래밍을 지원하지 않음 비동기를 사용해야 하는 경우 Ajax 호출을 비롯한 네트워크 요청 파일을 읽고 쓰는 파일시스템 작업 의도적으로 시간 지연을 사용할 때 (알람 기능) Callback과 Promise 음식점으로 비유하기 Callback : 줄을 서서 기다리지 않도록, 자리가 나면 전화를 해주는 음식점 Promise : 자리가 났을 때 진동하는 진동벨을 넘겨주는 음식점 2. 콜백 자바스크립..

    [WakaTime] VSCode 19시간 59분(2020년 2월 둘째주)

    [WakaTime] VSCode 19시간 59분(2020년 2월 둘째주)

    [WakaTime] VSCode 사용량 (2020년 2월 둘째주) 일주일 간 사용 시간: 19시간 59분 가장 많이 쓴 언어: Javascript

    [WakaTime] VSCode 10시간 19분(2020년 2월 첫째주)

    [WakaTime] VSCode 10시간 19분(2020년 2월 첫째주)

    [WakaTime] VSCode 사용량 (2020년 2월 첫째주) 일주일 간 사용 시간: 10시간 19분 가장 많이 쓴 언어: CSS

    [CSS] transitionend Event

    transitionend Event란? transition이 완료된 이후에 발생하는 이벤트, transition 완료를 감지한다. transition과 함께 사용하는 함수 addEventListener를 사용하여 이벤트 모니터링 가능 예제 testDiv 의 콘텐츠에 마우스를 hover했을 때 2초 동안 원래 크기보다 1.1배 커지게 만든다.(transition) transition이 끝나면 이를 감지하고 "이것은 테스트 텍스트입니다.." 라는 텍스트가 보이도록 한다.(transitionend) .testDiv { transition: 2s; } .testDiv:hover { transform: scale(1.1); } const test = document.querySelector(.testDiv); t..

    2월 2주차 주간 회고

    일주일 동안... 😎 뭐 했나 1. 블로그 스킨을 변경했다. Letter이라는 스킨을 적용했다. Github 블로그를 만들어 보려고 했는데 이미 티스토리 블로그에 구글 에드센스도 신청했다. 1일정도 후에 나온다고 한다. 😎 전부터 해보고 싶었는데 드디어 하는구나 2. 크롱과 면담 & 혼란스러움 정리 2월이 되면서 본격적인 프론트엔드 과정을 배웠다. 그러면서 다른 멤버들과의 비교를 정말 많이 하게 됐었다. 아무래도 퍼블리싱을 접해 본 분들이 많아서 작업 속도도 빠르고, 응용 단계도 척척 하시는 분들이 많았다. 1월의 CS 과정보다 CSS, HTML 과정을 즐거워하는 분들도 많아 어려워 하는 나의 모습이 비교돼 적성의 고민도 많이 했다. (나는 백엔드인 것인가...? 하다가 백엔드 공부하는 거 보고 역시 난..