본문 바로가기

프로그래밍

(82)
19.12.15) Java - 구구단 프로그램 구현 목차 Scanner 클래스 Array method 선언과 호출 Class 사용법 Scanner 클래스 JDK에 내장되어 있는 클래스이다. 사용자에게 값을 입력받을 때 사용 가능하다. import java.util.Scanner System.out.println("값을 입력해주세요"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); 코드설명 자료형은 객체이기에 new를 통해 scanner라는 이름의 Scanner를 만든다. 입력받은 값의 자료형을 설정할 수 있다. 만약 설정한 값이 아니면 에러 출력한다. 위 코드는 int로 설정 array JS나 Python에 비해 array의 기능이 단순하다. 처음 선언할 때 길이를 지정해야..
19.12.14) Java - 개발환경구축 개발 환경 구축 혼자 개발 환경 구축을 할 수 있을 정도로 연습한다. 나중에 개발환경 문제가 생기더라도 대처가 가능하다. 시리즈 javaSE : Standard Edition으로 기본적인 개발 가능. javaEE : 웹 개발 가능.순서 JDK(Java Development Kit)를 설치한다. 시스템 환경 변수에 JAVA_HOME 만들고 jdk디렉토리 경로 추가, path에 jdk\bin 디렉토리 경로 추가 cmd에서 java -version 명령으로 설치 확인한다. 에디터(eclipse)를 설치한다. eclipse의 환경을 JRE에서 JDK로 바꿔준다 . windows -> preference -> java -> installed JREs -> JDK 디렉토리를 추가한 뒤 설정 변경 인코딩을 utf-8..
19.12.12) JS - 코드스쿼드 Step3 복습 배운 점 함수의 인자를 객체 이름으로 하니까 혼동이 온다. 기능별로, 쪼개니까 코드가 단순해지고 이해하기가 쉬워진다. divide & conquer!! JS로 html를 조작하니 확실히 코드가 간결해지고 아름다워진다. 여러 데이터를 모을 때는 배열도 유용하다. 코드를 훨씬 간결하게 만들 수 있다. 더 수준이 높아지면 객체도 자유자재로 사용할 수 있게 연습해야겠다. 반복적으로 프로그램 돌려야 할 때는 while문 생각해보기!! 조건에 맞지 않으면 계속 돌아가게 아쉬운 점 start.js 파일에 기능이 너무 많이 몰려 있어서 아쉽다.. 출력하는 파일 따로, 게임하는 파일 따로 진행해도 좋았을 텐데. 전광판 점수 업데이트가 제대로 안돼서 아쉽긴 하다..
19.12.11) JS - 코드스쿼드 step2 복습 step2 복습 이후 깨달은 것 처음에 복습한다치고 한 번에 다 만들고 커밋하려고 했다. 하지만 프로그램 구조가 복잡해서 시간이 갈수록 주먹구구식으로 코드를 짰다. 그러다, 다시 처음부터 하자 마음먹었다. 대신 중점은 divide & conquer 였다. 구현할 기능들 적어놓고 하나씩 구현 완료하면 커밋하는 걸로! 함수의 의존성도 최대한 줄이기! 함수의 의존성이 높아지면 점점 코드가 복잡해져서 나조차 이해가 어려워진다. 최대한 함수 안에 다른 함수를 넣지 않으려고 노력했다.
19.12.10) JS - 노마드코더 강의 실습 복습 forEach() filter() 둘 다 배열의 메서드이다. forEach()는 반복문처럼 사용 가능하다. 인자 값은 3개를 받는데, 첫 번째 인자는 배열의 element를 하나씩 꺼낸다. 두 번째 인자는 인덱스를 꺼낸다. 세 번째 인자는 배열 전체를 꺼낸다. const arr = [1,2,3]; arr.forEach(function(elements, i, j){ console.log(elements) // 1, 2, 3 console.log(i) // 0, 1, 2 console.log(j) // [1,2,3], [1,2,3], [1,2,3] }) filter() filter()는 boolean값을 가지고 사용 가능하다. 배열의 요소를 하나씩 꺼내면서 만약 true값은 새로운 배열에 추가한다. fals..
19.12.09) JS - ES6 속 추가된 문법 String 새로운 메소드 startsWith() : 문자열이 00으로 시작하는지 알아내는 메소드 endsWith() : 문자열이 00으로 끝나는지 알아내는 메소드 includes() : 문자열 속에 00이 있는지 알려주는 메소드 Array For of 리스트 순회하는 방법 for문 foreach 메소드 for of -> 문자열에서도 사용 가능 Spread operator 펼치는 연산자라는 의미 ...를 사용한다. Immutable 배열 만들 때도 용이하다. 파이썬의 unpacking이랑 비슷하다. from 메소드 배열을 만들어주는 메소드이다. function addMark() { const Arr = Array.from(arguments); const answerArr = Arr.map(function..
19.11.27) JS - checkio 속 유용한 메소드 str replace(arg1, arg2), chatAt(index), endsWith(), startsWith() includes(), indexOf(), toLowerCase(), toUpperCase() array endsWith(), startsWith(), includes(), indexOf() splice() 배열 원소 삭제할 때! isNaN() sort() 이용해서 객체나 정수 배열 내림, 오름차순 만들기 // 배열에 담긴 상품(객체)의 가격 중 큰 것을 limit만큼 출력 function biggerPrice(limit, data) { const answer = []; data.sort(function(a, b){ return b.price - a.price; }) for(let i =0; i
19.11.26) Python - 백준알고리즘 단계3 단계3 for문 for문을 순회하며 꺼내는데 사용해도 되지만, 반복횟수로 지정해도 된다. while처럼 sys.stdin.readline() : 입력받은 문자열을 iterable형 컨테이너에 저장한다. input()보다 계산 속도가 빠르다. sys.stdin : 여러줄 입력 가능하다. range() 역순 활용 코드 for i in range(num, 0, -1): print(i) for i in reversed(range(1, num+1)): print(i) format메서드를 활용해 아름답게 출력하기. fomat()과 rjust, ljust 활용해 정렬하기. # 오른쪽정렬을 5자릿수로 하기. print('{0: