본문 바로가기

전체 글

(166)
[백준 JAVA] 15650번: N과 M (2) - 중복 없는 조합 https://www.acmicpc.net/problem/15650 아까는 순열 지금은 조합인듯하다. 한번 사용한 조합은 다시 사용하지 않는다고 이해하면 될꺼같다. 숫자가 더이상 작아지지 않는 것을 이용해서 for 문에 i값을 조정해주면 될꺼같다. 하지만 아까는 n과, m값만을 받아왔기 때문에 조합에서는 이전에 어떤값이 들어왔는지 다음 재귀 함수에 알아야 하므로 함수문에 at을 추가해 주었다 . 또한 visit는 삭제해주었다. import java.util.Scanner;public class Main { public static int[] arr; public static int n, m; public static void main(String[] args) { Scanner sc = new Scan..
[백준 JAVA] 15649번: N과 M (1) - 중복 없는 순열 https://www.acmicpc.net/problem/15649 Java의 기본적인 입출력import java.util.Scanner;Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println();오늘은 여기까지만 외우자. 코드는 백트래킹을 기초로 dfs를 사용해서 구현하였다.import java.util.Scanner;public class Main { public static int[] arr; public static boolean[] visit; public static void main(String[] args) { Scanner sc = new Scanner(System.in); ..
[프로그래머스 JAVA] 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 import java.util.*;HashMap map = new HashMap(); // 새로운 HashMap 생성 String 값을 key Integer값을 value 로 선언map.put(part, map.getOrDefault(part, 0) + 1); // part값이 존재한다면 그 key값을 가져오고 아니라면 지정해준 default값 출력map.put(comp, map.get(comp) - 1); // comp에 해당하는 key값 가져오기map.keySet() // map에 있는 모든 key을 순차적으로 접근합니다.  import java.util.*;class Solution {..
[프로그래머스 JAVA] 폰켓몬 해시 첫문제  https://school.programmers.co.kr/learn/courses/30/lessons/1845 해시의 기본적인 정리 해시 테이블 또는 해시맵은 데이터를 key-value 형식으로 저장하는 자료구조이다.해시는 key를 받아 임의의 해시 함수를 통해 도출된 해시 값을 배열의 Index로 사용한다. 이를 통해 O(1) 이라는 빠른 속도로 데이터에 접근이 가능하다. 해시 테이블의 종류는 크게 Map, Set 두가지로 분류할 수 있다. 1. Map : 위에서 설명한 해시 테이블 2. Set : 메모리 공간에 value는 저장하지 않고 key만 저장한다는 점이 다르다. Set은 중복을 허용하지 않는 값을 모아 놓은 컬렉션으로 생각하면 좋다. 이 문제는 중복을 허용하지 않는 범위에 최..
[생활코딩] 제어문 - 문자의 비교 : ==과 equals의 차이점 https://opentutorials.org/course/3975/26781 문자의 비교 : ==과 equals의 차이점 - 생활코딩수업소개 자바에서 문자나 객체를 비교할 때는 ==가 아닌 equals를 사용해야 합니다. 그 이유와 equals의 의미를 살펴봅시다.  강의 소스코드 public class AuthApp2 { public static void main(String[] args) { String iopentutorials.org public class AuthApp {  public static void main(String[] args) {  System.out.println(args[0]);  String id = "egoing"; String inputId = args[0];  Sys..
[생활코딩] 제어문 - 조건문 https://opentutorials.org/course/3975/26779 조건문 - 생활코딩수업소개 조건에 따라서 다르게 동작하게 프로그램을 디자인하는 핵심은 조건문입니다. 조건문이라는 위대한 도구를 이용해서 우리의 프로그램을 더욱 지능적으로 만들어봅시다.  강의1 소스opentutorials.org public class IfApp {  public static void main(String[] args) {  System.out.println("a"); if(false) { System.out.println(1); } System.out.println("b");  } }  영원히 실행될 수 없는 코드 (if문의 조건에 false가 들어가는 문장) = dead코드라 오류 밑줄이 뜬다. 단일 블럭 ..
[생활코딩] 제어문 - 비교연산자 https://opentutorials.org/course/3975/26777 비교연산자 - 생활코딩수업소개 Boolean 데이터 타입이 생성되는 연산자는 비교 연산자입니다. 비교 연산자를 통해서 무엇인가를 비교하는 방법을 살펴보겠습니다. 프로그래밍이 지능적으로 동작하는 핵심은 비교입니opentutorials.org 1 + 1 = 2 "1" + "1" "11" boolean간의 연산을하는 연산자를 배우겠다. public class ComparisonOperatorApp {  public static void main(String[] args) {  System.out.println(1 > 1); // false System.out.println(1 == 1); // true System.out.print..
[생활코딩] 제어문 - boolean https://opentutorials.org/course/3975/26776 boolean - 생활코딩수업소개 참과 거짓을 표현하는 데이터 타입인 boolean을 공부하는 시간입니다. boolean 자체로는 큰 효용이 없지만, 뒤에서 반복문, 조건문과 만나면 폭발적인 효과를 내는 위대한 개념입니다.  강opentutorials.orgpublic class BooleanApp {  public static void main(String[] args) {  System.out.println("One"); System.out.println(1); System.out.println(true); System.out.println(false);  String foo = "Hello world"; // String..