개발환경 : window10 사용언어 : html, css, javascript 필요에 의해서 간단히 웹으로 간단한 지뢰찾기 게임을 구현해보았습니다. 기존 클래식 지뢰찾기는 마우스 좌우를 동시에 클릭하면 해당 주변의 셀이 지뢰인지 아닌지에따라 셀이 클릭되는 효과가 있었는데 그부분을 제외하고는 클래식 지뢰찾기와 거의 같이 구현하려고 노력했습니다. 어려운점은 2가지가 있었습니다. 1. 클릭했을때 주변의 셀에 지뢰가 몇개가 있는지 표시하는 로직 2. 현재 클릭한 셀이 주변 지뢰개수가 0이고 주변에 지뢰개수가 0인 셀이 연속적으로 눌러져서 주변에 지뢰가 있는 셀까지 퍼져가는 클릭효과 구현하기. 첫번째는 script태그 맨 위부분에 randomArr라는 지뢰들의 셀 id값을 저장하고 있는 배열입니다. 이 배열안에..
필터링 - 중간처리 기능으로 요소를 걸러내는 역할 - distinct() : 중복을 제거하는 메소드 - filter() : 매개값으로 주어진 Pridicate 객체가 true를 반환하는 요소만 필터. public static void main(String[] args) { List names = Arrays.asList("가나다","라마바","가나다","차카타","파하"); //이름 중복 제외. names.stream() .distinct() .forEach(System.out::println); System.out.println(); //"가"로 시작하는 이름만 필터 names.stream() .filter(n->n.startsWith("가")) .forEach(System.out::println); ..
JadenCase 문자열 만들기 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상인 문자열입니다. s는 알파벳과 공백문자(" ")로 이루어져 있습니다. 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 ) 입출력 예 s return 3people unFollowed me 3people Unfollowed Me for the last week For The Last Week 나의 풀이 import java.util.*; class Solution { public Str..
모의고사 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution ..
파이프라인 - 스트림은 데이터의 필터링, 매핑, 정렬, 그룹핑 등의 중간처리 - 합계, 평균, 카운팅, 최대값, 최소값 등의 최종처리를 파이프라인으로 해결한다. - 파이프라인은 중간처리에서 이어져서 최종처리까지 이어지는 스트림의 라인이라고 볼 수 있다. 파이프라인 예제 public class Member { public static int MALE = 0; public static int FEMALE = 1; private String name; private int sex; private int age; public Member(String name, int sex, int age) { this.name = name; this.sex = sex; this.age = age; } public int ge..
Stream은 BaseStream이라는 부모 인터페이스가 있고 각각의 자식인터페이스로 다음과 같이 있다. Stream : 객체요소를 처리하는 스트림 나머지 : 각각의 타입에 맞는 primitive 타입에 대한 요소를 처리 컬렉션으로부터 스트림 얻기 public class FromCollectionExample { public static void main(String[] args) { List studentList = Arrays.asList( new Student("티타늄",10), new Student("오리발",5), new Student("하하하",30), new Student("케케케",24) ); Stream stream = studentList.stream(); stream.forEach(s..
스트림 - 자바8부터 추가된 컬렉션의 저장요소를 하나씩 참조해서 람다식(functional style)으로 처리할 수 있도록 해주는 반복자 - 자바7까지는 Iterator를 이용해서 컬렉션에서 요소를 순차탐색하였음. -> 개발자가 순차탐색 코드 다씀. - 스트림은 메소드 체이닝을 이용해서 여러가지 처리를 1줄의 코드로도 끝낼 수 있음. 스트림 특징 람다식으로 요소 처리 코드 제공 Stream stream = list.stream(); stream.forEach( s -> { String name = s.getName(); int score = s.getScore(); System.out.println(name+"-"+score); }); 내부 반복자 사용으로 병렬처리에 용이 - 외부 반복자 : 개발자가 ..
컴포넌트간 통신 - 뷰의 경우는 컴포넌트로 화면을 구성하기 때문에 같은 웹페이지라도 데이터를 공유할 수 없는 경우가 많다. - 각 컴포넌트들의 scope(유효범위)가 독립적이기 때문에 다른 컴포넌트의 값을 직접적으로 참조할 수가 없다. 상/하위 컴포넌트 관계 - 뷰의 가장 기본적인 데이터 전달방법. - 상위(Parent) 컴포넌트에서 props라는 속성으로 전달. - props : 상위 컴포넌트에서 하위 컴포넌트로 데이터를 전달할 때 사용하는 속성. 하위 컴포넌트의 속성에 정의. Vue.component('child-component',{ props:['props 속성 이름'], }); - 상위 컴포넌트의 HTML 코드에 정의된 child-component 태그에 v-bind 속성을 정의. 예제로 확인 ..