분류 전체보기 22

67. Add Binary

문제 - String으로 주어진 Binary 두 개를 더하기 해결방안 - 케이스별로 String에 char을 추가해주기 - char이 추가될 때 정답의 반대 방향으로 추가되기 때문에 마지막에 reverse 사용해주기 Steps Step 1 StringBuilder output = new StringBuilder(); int aSize = a.length() - 1; int bSize = b.length() - 1; boolean two = false; 리턴 할 변수, 두 string의 사이즈 그리고 2가 나왔을 때 0을 더해 줄 변수를 선언해줍니다. Step 2 while(aSize >= 0 || bSize >= 0){ //if the size of inputs is not the same, use '0..

카테고리 없음 2022.01.11

167. Two Sum II - Input Array Is Sorted

Two Sum과 Binary Search의 개념을 이용해서 풀 수 있는 간단한 문제 문제 - 정렬된 배열에서 target이 되는 값을 찾아 index + 1 되는 배열을 return하기 해결방법 - 배열이 이미 정렬되어 있어서 Binary Search를 사용 class Solution { public int[] twoSum(int[] numbers, int target) { int start = 0; int end = numbers.length - 1; int[] output = new int[2]; while (end > start) { int sum = numbers[start] + numbers[end]; if (sum == target){ output[0] = start + 1; output[1]..

Algorithm/LeetCode 2022.01.11

1010. Pairs of Songs With Total Durations Divisible by 60

문제 - 두 가지 곡 시간의 합이 60으로 나뉘어지는 Pair의 수를 찾아라 해결방법 1. Brute Force를 이용해서 곡 pair의 합이 60으로 나뉘어지는 곡들 찾기 2. 각 곡들의 시간을 60으로 나누었을 때 나머지 값이 같은 곡이 있다면 +1 해주기. class Solution { public int numPairsDivisibleBy60(int[] time) { int output = 0; int size = time.length; for (int i = 0; i < size; i++){ for(int j = i+1; j < size; j++){ int totalTime = time[i] + time[j]; if (totalTime % 60 == 0){ output++; } } } retur..

Algorithm/LeetCode 2022.01.03

811. Subdomain Visit Count

학기 끝나고 오랜만에 풀어보는 알고리즘 문제다. C++을 사용하다가 Java로 넘어오면서 적응하느라 고생을 좀 했다. 문제 - 숫자와 도메인으로 이루어진 String pair - 앞에 숫자는 도메인을 얼마나 방문했는지 나타내는 것 - 도메인을 "."으로 나누었을 때 각각 총 방문 숫자를 각각 나태는 List를 return 할 것 해결 방법 - Hash Table과 Brute Force를 이용하기 public List subdomainVisits(String[] cpdomains) { int size = cpdomains.length; HashMap map = new HashMap(); List output = new ArrayList(); for (int i = 0; i < size; i++){ //Sp..

Algorithm/LeetCode 2022.01.02

1.Linked List(연결된 리스트)를 왜 배워야 할까요?

array 배열 sort 정렬하다 linear 선형의 element 원소 index 색인 sequential 순차적인 학교에서 자료구조 관련된 수업을 들었을 때 처음 배웠던 개념이 Linked list인게 기억나네요. 그 당시 기억을 회상해보면 잘만 쓰던 Array(배열)이 있는데, 왜 굳이 Linked List를 써서 머리 아프게 또 pointer를 써야하는지 짜증났던 기억이 납니다. 심지어 둘 다 똑같은 Linear data structure인데! 왜 Linked List를 저희가 배우고 써야 되는걸까요? Array의 size에는 한계가 있습니다. Array를 declare 할 때 마다, upper limit size를 정해줘야 하는 부분이 있습니다. 그 말은 즉 무한정으로 배열의 수를 증가시키기가 ..

Data Structure 2021.01.03

객체(Object)란 무엇일까요?

자바는 객체 지향 (Object-Oriented) 언어입니다. 객체 지향언어의 특징을 가지고 있는 언어인 자바는 기본적으로 여러가지 개념을 지원하게 됩니다. Polymorphism (다형성) Inheritance (상속) Encapsulation (캡슐화 or 은닉) Abstraction (추상화) Classes (클래스) Objects (객체) Instance (인스턴스) Method (메소드) Message Passing 앞으로 이 개념들에 대해서 포스트를 할 예정입니다. 오늘은 그 중에서 객체(Object)에 대해서 설명을 해드리겠습니다. 객체 (Object) 객체는 현실에서 행동(behavrios), 상태(States)를 가집니다. 예를들어 고양이는 색깔(color), 발톱(claw), 이름(na..

Java 2020.04.25

웹 접근성(Accessibility) with HTML

이 글에서는 웹 접근성과 HTML을 활용한 웹 접근성을 알아볼 예정입니다. What is Web Accessibility? 웹 접근성을 얘기할 때는 말 그대로 모든 유저가 "웹 사이트를 이용할 수 있는가"를 얘기합니다. 비장애인 분들은 사이트를 이용하실 때 큰 불편함이 없으시겠죠. 하지만 장애가 있으신 분들 혹은 고령자 분들이 웹 사이트를 이용할 때 부분적으로 한계가 있습니다. 그런 부분을 고려해서 모두가 웹사이트를 이용할 수 있게 하는 방법을 얘기합니다. What should we consider for web accessibiltiy? 웹 접근성을 고려해서 코딩을 할 때는 크게 6가지 사항을 고려하셔야 합니다. auditory (청각) cognitive (인지) neurological (신경) phy..

Front-end/HTML 2020.04.24

폼(Form)과 유효성 검사

What is Form? HTML 에서 이라는 요소는 사용자에게서 얻은 정보를 모으기 위해서 사용됩니다. 예를 들어서 네이버에 접속을 하시게 되면 아이디와 비밀번호를 입력하는 창이 있습니다. 사용자한테서 입력하는 그 공간이 으로 이루어져있다고 생각하시면 됩니다. 이렇게 입력된 정보들은 웹 서버와 웹 프로그램을 거쳐서 나중에 사용자가 보고 있는 브라우저에 결과물을 보여줍니다. HTML Form elements HTML Form에는 다양한 종류의 elements들일 존재하는데요. 그 중 몇 가지를 예시로 알아보겠습니다. The Element 은 폼 요소들 중에서 가장 중요한 요소로 여겨집니다. 또한 여러가지 속성을 가지고 있는데 그 속성에 따라서 다양하게 보여집니다. Text Fields Radio Butt..

Front-end/HTML 2020.04.21

의미론적(Semantic) 태그

What are Semantic Elements? 의미론적 태그들은 웹 브라우저나 개발자들에게 명확하게 의미를 묘사하는걸 뜻합니다. , , 같은 요소들은 의미론적인 태그들로 여겨지게 됩니다. 왜냐하면 이 태그들 안에 있는 컨텐츠들을 정확하게 묘사하는 것 자체가 목적이기 때문이죠. 사실 Semantic tag가 없어도 코드가 돌아가기는 합니다. 하지만 브라우저나 개발자가 그 코드를 읽고 해석할 때 Semantic tag가 있냐 없냐에 따라서 그 코드의 의미가 다르게 다가 올 수도 있죠. 그래서 코드를 짤 때 정확하게 의미를 부여하는게 중요합니다. Semantic Elements in HTML HTML Element 태그는 문서 안에 section을 정의하는데 사용됩니다. 다시 말해서 본문을 넣는다고 생각하..

Front-end/HTML 2020.04.20

HTML 첫 걸음

What is HTML? HTML이란 Hypertext Markup Language의 약자로서 인터넷 문서인 웹 문서를 만드는 마크업 언어입니다. How is HTML different than other languages? 엄밀히 말하자면 HTML은 프로그래밍 언어가 맞습니다. 하지만 HTML은 선언형 언어에 속한다고 합니다. 선언형 언어가 무엇이냐면 웹 페이지에 "뭐가 있어야 돼!"라고 선언하는 기초적인 언어라고 합니다. HTML의 이름에서 보이듯이 Markup은 "태그"라는 것을 사용해서 프로그래밍을 하게 됩니다. 위에 사진에서 보듯이 , , 등 다양한 태그로 문서를 작성하게 됩니다. HTML Basic Examples HTML Documents 지금 F12를 눌러서 HTML이 만들어진 코드를 살펴..

Front-end/HTML 2020.04.19