본문 바로가기

분류 전체보기

(61)
[Java] - 제어문2 : 조건문 - if 문 if 문이란? if 문은 조건문으로 로직내 분기처리를 담당하는 문법이다. 코드를 짜면서 로직내 논리의 틀을 잡고 구성하는데 있어서 매우 필수적이고 가장 기본적인 문법이다. 조건 및 상황에 따라 어떤것이 실행되고 또 실행되지 않게 만들 수 있다. if 문의 조건문은 true or false 로 값이 들어가야 한다. 상기 이미지를 간단하게 if 문 로직으로 표현하자면 아래와 같다. 등교(출근 준비) 집을 나왔다. if( 지각인가? ) { true : 지각이다... 택시를 탄다. } else { false : 지각이 아니다. 버스를 탄다. } 심플하다. 코드 실습 1. 성적, grade 평가해보기. public static void main(String[] args) throws Exception { int ..
[Java] - 제어문1 : for 문 && 향상된 for 문 for 문이란? for 문은 간단하게 특정 로직을 반복시켜야 할때 사용되는 제어문이다. Java 에 제어문에서 특정 로직을 반복시키는것은 두가지가 있는데 for문과 while 문 이다. 먼저 for 문에 대해서 알아보자. for 문을 동작하는 구성 요소 초기화 식 : for 문의 반복 횟수에 사용할 int 값 변수를 초기화. 조건식 : for 문의 로직 실행의 횟수를 컨트롤하는 조건을 의미. (횟수에 limitation 을 건다) 증감식 : 초기화 식의 int 변수값을 증감 시켜 로직 실행 횟수 제한 예시 : for(초기화 식; 조건문; 증감식) { 반복하고자 하는 로직 } 코드 실습 1. 3개의 도시 입력하기 public static void main(String[] args) throws Except..
[Java] - 배열 (1차원 배열, 다차원 배열) 배열이란? 자바를 배우는데 있어 여러 데이터를 한번에 다루기 시작하는게 바로 배열이라고 한다. 배열은 여러 데이터를 일 열로 나열해 놓은, 여러개 모아놓은 자료구조의 기초이다. 1차 배열과 다차원 배열이 존재한다. 배열의 특징. 같은 타입의 데이터만 저장이 가능. 인덱스는 0 부터 시작. 배열 선언시 인덱스의 길이를 지정. 한번 생성된 배열의 길이는 변경 불가능 IN Detail : 1 차 배열 상기 이미지를 참고해보면 길이가 10인 배열을 선언하였고 시작 인덱스는 당연히 0이고 마지막 인덱스는 9 이다. 그리고 각각의 인덱스의 공간(Element) 에는 값이 들어간다. 상기 이미지를 코드로 표현하자면 아래와 같다. 배열의 값은 int 라고 가정해보겠다. int[] test = new int[10] in..
[Git] [Mac] 'Sourcetree 응용 프로그램이 예기치 않게 종료되었습니다' 문제 해결! ssh key 설절을 완료한 후 기쁜 마음으로 sourceTree 에서 프로젝트를 클론받으려 했는데 갑자기 3~4초 간격으로 계속 sourceTree 가 종료되면서 'Sourcetree 응용 프로그램이 예기치 않게 종료되었습니다' 메시지를 띄웠다. 후.. 해결해보자! ㅎ.ㅎ 찾아보니 sourceTree 가 한국어로 돼있을때 특정 부분이 한국어를 지원하지 않아서 생기는 문제라고 한다. 그래서 환경 설정에서 sourceTree 의 사용 언어를 영어로 바꿔줘야 한다. 환경설정에 -> 언어 및 지역 으로 이동 그다음 맨 아래 응용 프로그램 파트에서 아래 + 버튼을 클릭. 그다음 아래와 같이 응용 프로그램 : SourceTree 선택 후 언어는 영어로 설정 And 추가. 그다음 sourceTree 를 실행시켜보면..
[React] digital envelope routines 에러 해결법 - Node.js 버전 문제 Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19) at Object.createHash (node:crypto:130:10) at module.exports (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js..
[JavaScript][프로그래머스] - LVL.0 개미군단 정답 1 오랜만에 내 주력 언어인 JavaScript 를 사용하여 문제를 풀어보았다. 역시 고향에 돌아온 느낌(?) 해당 문제를 처음 접했을때 약간 무서웠다. 일딴 이전에 봐왔던 문제들에 비해 덩치가 컸다. 코테를 풀면서 내가 항상 느낀건 언어에 대한 이해력은 기본이고 문제에 대한 이해력이 문제의 정답률을 좌우한다는 것이다. 문제를 진중하게 읽고 그 의도를 파악하는게 매우 중요하다. 그 의도만 확실하게 파악하면 아무리 길고 복잡하게 꼬아놓은 문제라도 하드코딩을 해서라도 어떻게든 해결할 수 있다. 상기 문제는 나머지와 몫을 활용하여 풀어야 하는 문제였다. 그리하여 아래와 같이 답을 작성해 보았다. function solution(hp) { let totalCount= 0; let mopHp = hp; [5..
[React] Context API 사용하기 Context API 란? Context API 는 리액트 프로젝트에서 데이터를 전역적으로 사용할 수 있게 해주는 유용한 리액트 내장 기능이다. 전역적인 데이터는 예를들어 사용자 로그인 정보, 앱 환경 설정 및 테마 등이 있다. 리액트는 기본적으로 부모 컴포넌트에서 자식 컴포넌트로 순차적으로 데이터를 props 로 내려준다. 이렇게 보면 상당히 간단한 개념이지만 프로젝트의 크기가 커지고 기능이 다양해지면 여러개의 컴포넌트들이 부모 자식으로 구성이 돼있는 상태에서 멀리있는 자식 컴포넌트간에 데이터를 props 로 주고받는것은 매우 어려운 일이다. 이럴경우 해당 데이터는 불필요하게 많은 다른 자식 컴포넌트들을 거치게 돼 상당히 코드가 복잡하여 추후 유지 보수에 어려움을 줄 수 있다. 왼쪽 이미지를 통해 상기..
[Java][프로그래머스] - LVL.0 모음 제거 정답 1 이문제는 딱 느낌이 왔다. 일딴 Stream 으로 만들어서 filter 를 돌려 모음들만 제거해야겠다는 구상을 한뒤 아래와 같이 답안 로직을 구성해보았다. import java.util.Arrays; import java.util.stream.Collectors; class Solution { public String solution(String my_string) { return Arrays.stream(my_string.split("")).filter(d -> { for (String s : new String[] { "a", "e", "i", "o", "u" }) { if (s.equals(d)) { return false; } } return true; }).collect(Collecto..