본문 바로가기

분류 전체보기58

[자바]java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer (부제: 형변환은 항상 신경 좀 씁시다.) + 이외에 다른 자바 형변환 정리 여느때와 같은 평화로운 근무시간. 파라미터 하나가 추가되어 수정해달라는 요청을 받고 평소와 같이 수정을 마쳤다. 코드 한 줄 바꾼 것이고 파라미터 명만 신경쓰면 당연히 오류가 나지 않을 것이라 자신하며 배포를 했으나 이게 웬 걸 에러가 터져버렸다. 이제는 익숙해진 에러 문구. String인데 왜 int로 변경하려고 하느냐 어리석은 녀석아 하는 메시지이다. JS처럼 저절로 형변환이 되면 좋으련만 JAVA는 이래저래 손이 많이 가는 친구다. 형변환이란? 서로 다른 타입간의 연산을 수행할 때 타입을 일치시키기 위해 변수나 리터럴의 타입을 다른 타입으로 변환하는 것. String, int 형변환하는 법 - String to int String ex_str = "123"; int ex_int = Integer.p.. 2023. 2. 16.
프로그래머스 레벨1 - 로또의 최고 순위와 최저 순위(자바) https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 각 배열의 값을 비교하면서 일치하는 번호가 있다면 최솟값 min, 최댓값 max 두 변수를 증가시켜야 겠다는 생각을 했다. 그리고 0인 값, 지워진 번호가 있다면 최댓값 max만 증가시키면 된다. 최고 등수를 맞히려면 0인 수는 무조건 당첨 번호여야 하기 때문이다. 그렇게 해서 당첨번호와 일치하는 개수를 구하고 나면 맞힌 개수에 따른 당첨 순위를 구현하면 된다. 그리고 배열의 각 값들을 직관.. 2023. 2. 15.
프로그래머스 레벨1 - 약수의 개수와 덧셈(자바스크립트) https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 두 자연수 left와 right 사이의 수들 중 약수의 개수가 짝수인 수는 더하고 홀수인 수는 뺀다. 약수란 나머지가 0이 되게 딱 나눠떨어지는 수다.(ex:14의 약수는 1,2,7,14) 이 약수를 코딩에서 어떻게 구현해야 할지를 먼저 생각했다. 제일 먼저 생각난 것은 for문돌리고 나누고 난 나머지 구하는 연산인 '%' 를사용하는 것이다. 그리고 구한 약수들의 배열 중에서 길이가 짝수인 .. 2023. 2. 14.
java.net.MalformedURLException: no protocol 'url' 로 시작하여 illegal character: '\ufeff' 로 끝나는 오류 해결 기록 개요 회사에서 프로젝트를 진행하는 중이었다. 외부api를 연결해야 했는데 뜬금없이 java.net.MalformedURLException: no protocol 'url' 로 시작하는 오류 메시지가 뜨면서 api연결이 되지 않았다. 다른 api연동시엔 전혀 문제없이 되던 것이었고 이러한 오류가 뜬 적이 없어 매우 당황스러웠다. 문제파악 바로 구글링을 해본 결과 URL 처음에 http://를 붙여야 한다는 해결 말고는 별다른 방법이 없었다. (혹시나 호출하려는 api의 url에 http://가 빠져있다면 앞에 추가시켜보자.) 하지만 나의 케이스는 처음부터 잘 붙어 있어서 별다른 도움이 되지 못했다. 결국 url을 잘못 입력하여 난 오류라는 얘긴데, 이리보고 저리보고 3번봐도 url에는 오류가 없었다. 오류.. 2023. 2. 13.
프로그래머스 레벨1 - 부족한 금액 계산하기(자바스크립트) https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 놀이기구의 이용료가 반복해서 탈 때 마다 처음 이용료만큼 증가한다. price = 가격, money = 총 가진 금액, count = 놀이기구 타는 횟수라고 선언할 때 얼만큼 부족한지를 return 시키면 된다. 결국 놀이기구 총 가격 - 총 가진 금액이 되는 것이다. 총 가진 금액은 알고 있으니 결국 구해야 하는 것은 놀이기구의 가격. 횟수만큼 반복해서 놀이기구의 이용료가 증가해야 하니 결.. 2023. 2. 11.
프로그래머스 레벨1 - 없는 숫자 더하기(자바스크립트) https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 0부터 9까지의 수 중에 일부가 배열로 저장되어 있고 그 배열에서 빠진 숫자를 찾는 문제이다. 일단 빠진 수를 찾으려면 배열을 순회해야만 한다. for문을 사용할 수도 있지만 최근에 공부한 es6함수인 filter를 사용하여 좀 더 있어보이게(?) 코딩을 해야겠다는 생각을 했다. 제한사항 배열 n은 0부터 9 사이의 수이고 중복된 숫자는 들어가지 않는다. 한마디로 별다른 조건 줄 필요없이 편.. 2023. 2. 10.