7. 음양 더하기
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for(int i=0;i<absolutes.length;i++){
if(signs[i]==true){
answer += absolutes[i];
}else{
answer -= absolutes[i];
}
}
return answer;
}
}
삼항연산자를 연습해야겠습니다.
8. 평균 구하기
class Solution {
public double solution(int[] arr) {
double answer = 0;
for(int i=0; i<arr.length; i++){
answer += arr[i];
}
answer /= arr.length;
return answer;
}
}
평균 구하기는 쉬웠습니다.
9. 핸드폰번호가리기
1. 전체 번호 길이에서 마지막 숫자 네 개를 뺀 부분에 *찍기하려면 길이를 구한다.
2. .length() 메소드를 사용해서 길이를 구한디 -4를 한다.
3. length-4만큼 별을 찍는다.
4. 뒤의 숫자는 .substring() 메소드를 이용해서 .substring(length-4)로 마지막 네자리 숫자를 찍어준다.
public class Ex2_1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String phone_number = scanner.nextLine();
int length = phone_number.length();
String answer = "";
for(int star =0; star<length-4; star++){
answer += "*";
}
answer += phone_number.substring(length-4);
System.out.println(answer);
}
}
.substring이란 걸 어제푼 문제에서 배워서 대입을 해봤습니다.
그랬더니...
.toCharArray() 메소드란것이 있습니다.
String.valueOf()
10. 행렬의 덧셈
어제부터 약간 뇌가 멍해서
11. x만큼 간격이 있는 n개의 숫자
x부터 시작해서 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴하라
1. x, x(n), x(n^2), ... , x(n^n-1) 을 리스트로 만들어야 한다.
2. for 문을 사용해서 정의하면 되려나
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for(int i=0; i<answer.length; i++){
answer[i] = (long)x * (i+1);
}
return answer;
}
}
위는 프로그래머스에 제출한 코드이고 인텔리제이로는 아래처럼 작성했습니다.
public class xnincrease {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int n = scanner.nextInt();
long[] answer = new long[n];
for(int i=0; i<answer.length; i++){
answer[i] = x * (i+1);
}
System.out.println(answer);
}
}
그랬던이 결과값이 이상하게 나오길래 array 전체 배열의 값을 출력하는 방법을 알아보았습니다.
import java.util.Arrays; //import하기
import java.util.Scanner;
public class xnincrease {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int n = scanner.nextInt();
long[] answer = new long[n];
for(int i=0; i<answer.length; i++){
answer[i] = x * (i+1);
}
System.out.println(Arrays.toString(answer)); //Arrays.toString() 메소드 사용
}
}
Arrays.toString() 메소드를 사용하면 배열의 값을 출력해줍니다.
아래처럼 이쁘게 출력이 되었습니다.
12. 부족한 금액 계산하기
돈이 얼마나 부족한지 계산하고 부족하지 않다면 0을 return 한다.
1. 다시 탈때 마다 요금이 n배 만큼 올라감
2. n번 탈때 필요한 돈의 금액 lack = (Price*1+ Price*2+ ... + Price*n) -> for 문 사용
3. 부족한 돈의 금액 lack - money
4. 안부족하면 return 0;
import java.util.Scanner;
public class lackamout {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int price = scanner.nextInt();
int money = scanner.nextInt();
int count = scanner.nextInt();
long answer;
int lack = 0;
for(int i=0; i<=count; i++){
lack += price*i;
}
if (money>lack){
answer=0;
} else{
answer = lack-money;
}
System.out.println(answer);
}
}
생각보다 술술 풀려서 놀랐습니다.
역시나.. 이유가 있었습니다.
왜 실패했을까요..?
뭐지 했는데 다시 돌려보니까 통과가 되었습니다....
쉬운게 맞았군요!
'TIL' 카테고리의 다른 글
TIL 자바 java 프로그래머스 알고리즘 문제 풀기 221121 (0) | 2022.11.21 |
---|---|
TIL/WIL 부트캠프 1주차 회고 221120 (1) | 2022.11.20 |
TIL 자바 공부 프로그래머스 과제 제출 221118 (0) | 2022.11.18 |
TIL 1주차 미니프로젝트 발표 로그아웃 구현 221117 (0) | 2022.11.18 |
TIL Merge 하고 다시 작업하기 아이디 중복확인 기능 로그인 JWT token 221116 (0) | 2022.11.17 |