전체 글 (263) 썸네일형 리스트형 [백준] 2522 : 별 찍기 - 12 JAVA 풀이 import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); String star = "*"; String space = " "; for(int i=N-1;i>=0;i--){ sb.append(space.repeat(i)).append(star.repeat(N-i)).append('\n'); } for(int i=1;i [백준] 2445 : 별 찍기 - 8 JAVA 풀이 (별 i번) (공백 N-i번)(공백 N-i번)(별 i번) 이런 모양이 반복되도록 하면 된다. import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); String star = "*"; String space = " "; for(int i=1;i0;i--){ sb.append(star.repeat(i)).append(spa.. [백준] 2442 : 별 찍기 - 5 JAVA 풀이 N = 5일 때 (공백 N-1개) * (공백 N-1개) (공백 N-2개) *** (공백 N-2개) (공백 N-3개) ***** (공백 N-3개) (공백 N-4개) ******* (공백 N-4개) (공백 N-5개) ********* (공백 N-5개) 이런 식으로 출력하라는 문제인데, 별 뒤에 공백은 신경쓸 필요가 없다. 따라서 for문의 i를 1부터 N까지 반복하면서 N-1번 공백을 찍고 2*i-1번 *을 찍도록 코드를 구성했다. import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(.. [백준] 2441 :별 찍기 4 JAVA 풀이 1. N을 입력받는다. 2. 0번 공백을 출력하고 N번 *을 출력하고, 1번 공백을 출력하고 N-1번 *을 출력하는 식으로 반복되니 반복문을 사용해 i번 공백출력, N-i번 *출력 후 줄바꿈을 하도록 코드를 작성한다. import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); String star = "*"; String space = " "; for(int i=0;i [백준] 11721 : 열 개씩 끊어 출력하기 JAVA 풀이 음...내가 좀 어렵게 생각한 것 같다. 1. 문자열을 입력받아 String 변수 str에 저장한다. 2. str의 길이를 len이라는 변수에 저장한다. (꼭 저장하지 않아도 되지만 코드의 가독성 때문에) 3. String.substring(첫 인덱스, 마지막 인덱스-1)를 사용해 10글자씩 잘라 출력한다. 만약 문자열이 25글자라면 인덱스 0~9까지 출력하고, 10~19까지 출력해야 하니 i*10부터 (i+1)*10-1까지 출력했다. 4. 입력받은 문자열의 길이가 10으로 나눠떨어지지 않으면 나머지 글자를 String.substring(첫 인덱스)로 출력한다. import java.io.IOException; import java.io.InputStreamReader; import java.io.Buf.. [백준] 11720 : 숫자의 합 JAVA 풀이 첫째 줄에 숫자의 개수 N이 입력되지만 그걸 사용하지 않아도 풀 수 있어서 따로 변수를 생성해 저장하진 않았다. getBytes()를 이용해서 br.readLine()으로 읽은 문자열을 byte 배열로 변환해줬다. for - each 구문으로 그 byte 배열을 한 바이트씩 읽고, 그 byte를 다시 정수로 바꾸기 위해 -'0'을 해서 sum에 더해 총합을 구했다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = ne.. [백준] 18870 : 좌표 압축 JAVA 풀이 N개의 숫자 중 자신보다 작은 숫자의 개수를 세고 출력하기만 하면 되나....했지만 잘보면 처음 입력되는 숫자 N개의 순서대로 출력해야 한다는 점이 좀 까다로웠다. N개의 숫자를 배열 arr에 저장하고, arr에서 중복되는 값을 제외하고 그걸 정렬한 값을 담은 새로운 배열 tmp를 만든 뒤에 두 배열의 값을 비교하면서 일치할 때마다 tmp의 인덱스(자기보다 작은 수의 개수)를 출력하려고 했지만 예상대로 시간초과가 됐다. 이걸 어쩌나 고민하던 중 해쉬맵을 알게 됐다. 해쉬맵은 키값과 데이터로 이루어져서 키값은 중복될 수 없지만 데이터는 중복될 수 있다. 이를 이용해서 다음과 같은 순서로 코드를 짰다. 1. arr라는 배열에 N개의 숫자를 저장한다. 2. tmp라는 배열에 arr배열을 복사해둔다. (처음 입.. [백준] 10814 : 나이순 정렬 JAVA 풀이 1. 회원 수 N을 입력받는다. 2. 공백 하나를 두고 나이와 이름이 입력되는데, 이를 2차원 스트링 배열에 저장한다. 3. 나이순으로 정렬한다. -> 나이가 같을 때의 조건을 추가로 정해두지 않으면 알아서 입력된 순서로 정렬된다. 4. 정렬된 2차원 배열을 출력한다. import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br.. 이전 1 ··· 19 20 21 22 23 24 25 ··· 33 다음