coding 5

1541번 잃어버린 괄호

문제출처: www.acmicpc.net/problem/1541 위 문제는 주어진 식에 괄호를 적절히 쳐서 결과 값을 최소로 만드는 문제이다. 해당 예제 55 - 50 + 40는 55 - (50 + 40)으로 괄호를 적용할 경우 최소가 된다. for문을 통해 문자인 숫자를 붙여주고, 처음에 나온 연산자가 + 일 경우에는 더해주고, 그 외에는 -를 해주는 것이 최소값이 된다. #include using namespace std; string str; int sol(string str) { int ret = 0; string s = ""; bool isMinus = false; for (int i = 0; i > str; cout

Algorithm/BOJ 2020.12.14

Object 1장

Object: 코드로 이해하는 객체지향 1장 클린 소프트웨어: 애자일 원칙과 패턴, 그리고 실천 방법 소프트웨어가 가져야 하는 세 가지 기능 실행 중에 제대로 동작하는 것 변경을 위해 존재하는 것 코드를 읽는 사람과 의사소통 하는 것 변경에 취약한 코드 의존성은 변경에 대한 영향을 암시한다. 의존성이라는 말 속에는 어떤 객체가 변경될 때 그 객체에게 의존하는 다른 객체도 함께 변경될 수 있다는 사실이 내포돼 있다. 그렇다고 해서 객체 사이의 의존성을 완전히 없애는 것이 정답은 아니다. 객체지향 설계는 서로 의존하면서 협력하는 객체들의 공동체를 구축하는 것이다. 따라서, 애플리케이션을 구현하는데 있어 최소한의 의존성을 유지하고 불필요한 의존성을 제거하는 것이다. 캡슐화와 응집도 밀접하게 연관된 작업만을 수..

Object 2019.12.10

[Do it! Vue.js 입문] 03-1. 뷰 컴포넌트 통신

컴포넌트 간 통신과 유효 범위 뷰는 컴포넌트로 화면을 구성하므로 같은 웹 페이지라도 데이터를 공유할 수 없다. 컴포넌트마다 자체적으로 고유한 유효 범위를 갖기 때문이다. 위는 한 컴포넌트에서 다른 컴포넌트의 값을 직접 참조하는 예제이다. my-component2 컴포넌트 내용에서 {{ cmp2Data }}는 my-component1 컴포넌트의 data.cmpData1를 참조하고 있다. 따라서 값 100이 화면에 표시되어야 하는데, 아무것도 표시하지 않는다. 그 이유는 my-component2 컴포넌트에서 my-component2 컴포넌트의 값을 직접 참조할 수 없기 때문이다. 즉, 컴포넌트의 유효 범위로 인해 다른 컴포넌트의 값을 직접 접근하지 못하기 때문에 나타난 결과이다. 상-하위 컴포넌트 관계 위와..

Vue.js 2019.11.26

[Do it! Vue.js 입문] 03-2. 뷰 컴포넌트

컴포넌트란? Component란 조합하여 화면을 구성할 수 있는 블록(화면의 특정 영역)을 의미한다. 컴포넌트 등록하기 전역 컴포넌트 지역 컴포넌트 전역 컴포넌트 등록 Vue.component('컴포넌트 이름', { //컴포넌트 내용 }); 전역 컴포넌트 등록하기 컴포넌트 등록 전역 컴포넌트를 등록하려면 HTML에서 사용할 태그 이름을 컴포넌트 이름으로 작성하고, 중괄호 {} 안에는 HTML 태그가 실제로 화면에서 그려질 때 표시될 내용(컴포넌트 내용)을 작성해야 한다. 컴포넌트의 이름을 my-componet로 작성하였고, 컴포넌트 내용으로는 ' 전역 컴포넌트가 등록되었습니다! ' 으로 작성되었다. 결론적으로 인스턴스가 생성된 후 화면에 그려질 때 실제 HTML 코드 모양은 다음과 같다. 컴포넌트 등록 ..

Vue.js 2019.11.25

[Do it! Vue.js 입문] 03-1. 뷰 인스턴스

뷰 인스턴스 라이프 사이클 인스턴스의 생성 생성된 인스턴스를 화면에 부착 화면에 부착된 인스턴스의 내용이 갱신 인스턴스가 제거되는 소멸부착 부착 -> 갱신 구간은 데이터가 변경되는 경우에만 거치게 된다. beforeCreate 인스턴스가 생성되고 나서 가장 처음으로 실행되는 라이프 사이클 단계 data 속성과 methods 속성이 아직 인스턴스에 정의되어 있지 않고, 돔과 같은 화면 요소에도 접근 불가 created data 속성과 methood 속성이 정의되었기 때문에 this.data 또는 this.fetchData()와 같은 로직들을 이용하여 data 속성과 methods 속성에 정의된 값에 접근하여 로직을 실행할 수 있습니다. 인스턴스가 화면 요소에 부착되기 전이기 때문에 template 속성에 ..

Vue.js 2019.11.24