공원 산책 Java
·
문제풀이/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { int[] dx = {-1, 1, 0, 0}; int[] dy = {0, 0, -1, 1}; int[][] map; int x, y, nx, ny, N, M; boolean isBlocked; void move(int dir, int dist){ isBlocked=false; int i = 0; nx = x; ny = y; while(i < dist){ nx += dx[dir]; ny += dy[dir]; if(nx < 0 || ny < 0 |..
가장 가까운 같은 글자 Java
·
문제풀이/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int[] solution(String s) { int[] answer = {}; int[] arr = new int[26]; answer = new int[s.length()]; Arrays.fill(arr, -1); for(int i =0 ; i < s.length(); i++){ char c = s.charAt(i); if(arr[c-'a']== -1){ answer[i] = -1; arr[c-'a'] = i; }else{ a..
둘만의 암호 Java
·
문제풀이/백준
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public String solution(String s, String skip, int index) { String answer = ""; StringBuilder sb = new StringBuilder(); // 알파벳 26개중 skip인 것을 구별하는 boolean 배열 boolean[] skipList = new boolean[26]; for(int i = 0; i < skip.length(); i++){ skipList[skip.ch..
파일 경로 설정과 URL 객체 인코딩 트러블슈팅
·
트러블슈팅
파일을 통한 입출력을 테스트하던 중, 크게 두 가지 오류가 발생했다. 문제 해결 과정을 설명하기에 앞서 오류 발생 코드는 다음과 같다. Calculator는 파일에 쓰여진 숫자를 라인단위로 읽고, 그 합을 모두 더하는 클래스이다. 실행 과정 1. Calculator 객체 생성 2. calcSum 함수의 매개변수로 "numbers.txt" 파일의 경로를 넘김 3. calcSum함수는 매개변수로 넘어온 경로의 파일을 읽고, sum을 리턴함 4. 리턴 값이 10과 일치하는지 검사 첫번째 오류 문제 상황 getResource() 메서드가 null 값을 반환하여 getPath() 함수를 호출할 수 없다는 오류가 발생한다. 문제 원인 getClass.getResource()는 호출한 클래스 패키지를 기준으로 상대경..
다단계 칫솔 판매 Java
·
문제풀이/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr package 프로그래머스.자바.다단계칫솔판매;import java.util.*; class Solution { // 이름과 번호가 키 쌍으로 들어감. Map map = new HashMap(); int[] arr; void dfs(int x, int money, int[] answer){ int giveMoney = (int)(money*0.1); int myMoney = money - giveMoney; answer[x] += myMoney; if(arr[x] == -1) return; dfs(arr[x]..
JWT(JSON Web Token) 구성 요소
·
알아보자!
JWT는 3개의 필드로 구성되어 있다.각각의 필드에 대해서 알아보자.Header{ "typ" : "JWT", "alg" : "HS512"}Header는 두 가지로 구성되어 있다. typ (Type)해당 토큰의 타입을 나타낸다.위 예시에서는 JWT를 토큰으로 사용한다는 의미이다.alg (Algorithm)서명 생성을 위해 사용하는 해시 알고리즘이 무엇인지 나타낸다.일반적으로 SHA-2(HS256), SHA-256(RS256) 알고리즘을 주로 사용한다.  Payload{ "sub": "1", "iss": "ori", "exp": 1669897918, "iat": 1636987918}사용자와 토큰에 대한 속성값(property)를 key-value 형태로 저장하는데 이를 Cla..
행렬 테두리 회전하기 Java
·
문제풀이/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr package 프로그래머스.자바.행렬테두리회전하기; class Solution { int[][] map; int rotate(int x1, int y1, int x2, int y2){ int prev = 100_000_000; int next = 0; int min = 100_000_000; for(int i = y1; i = x1; i--){ next = map[i][y1]; min = Math.min(min, next); map[i][y1] = prev; prev = next; } return min; }..
[PCCP 기출문제 2번] 석유 시추
·
문제풀이/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { // 각 석유 덩어리의 번호와 석유 양이 key, value Map map = new HashMap(); // oilNum = 오일 덩어리마다 매기는 수 // oilAmont = 해당 오일 덩어리의 오일 총 칸의 수 int oilNum=1, oilAmount, N, M; boolean[][] visited; int[] dx = {0, 0, 1, -1}; int[] dy = {1, -1, 0, 0}; void dfs(int x, int y, in..
[PCCP 기출문제 1번] 붕대 감기
·
문제풀이/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(int[] bandage, int health, int[][] attacks) { int answer = 0; int castTime = bandage[0]; int healPerSec = bandage[1]; int lastHeal = bandage[2]; int maxHealth = health; int attackLimit = attacks.length; int time = 0; // 시간 int curAttackIndex = 0; // ..
한동이는공부가하기싫어! 3182 Java
·
문제풀이/백준
3182번: 한동이는 공부가 하기 싫어! H-ALGO 회원인 한동이는 공부하는것을 좋아하지 않는다. 하지만 약삭빠르게도 한동이는 공부도 하지 않으면서 어려운 시험을 통과하고 싶어한다. 그러던 와중 어느 날, 한동이의 동기가 한동이에 www.acmicpc.net package 백준.자바.한동이는공부가하기싫어_3182; import java.io.*; import java.util.*; public class Main { private int[] arr; private boolean[] visited; private int count; private void dfs(int x){ visited[x] = true; if(!visited[arr[x]]){ dfs(arr[x]); } count++; } publi..
송민서
osnie