2024.06.12기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 테트리스 처럼 블럭이 내려올때 x좌표에 최대 y좌표를 출력하는 문제입니다. 1번으로 들어올때는 1 x 4(가로) 블럭이 떨어집니다.2번으로 들어올때는 4 x 1(세로) 블럭이 떨어집니다.3번이 들어올때는 해당하는 i좌표에 최대 높이를 출력합니다. 저의 접근은 처음에는 boolean[][] 변수를 생성해 좌표를 계산할려고 했지만, 문제 조건중 음수도 포함이 되어 있어 x좌표를 담고 있는 map을 생성해 문제에 접근을 해야겠다고 생각했습니다. 1. x좌표를 키로 가지고, y좌표를 값으로 가지는 map을 생성했습니다.static Map map = new LinkedHashMap(); // x좌표를 키 y좌표를 값으..
2024.06.10기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 근수 점수를 계산해서 총 합을 출력하는 문제입니다.이 문제의 조건은부분 문자열 2는 '근수'로 간주하여 등장할 때마다 1점을 더합니다.부분 문자열 22는 '근근수'로 간주하여 등장할 때마다 2점을 더합니다.연속된 k개의 2로 이루어진 부분 문자열 22...2는 '근근...근수'로 간주하여 등장할 때마다 k점을 더합니다.그 외 부분 문자열은 0점을 더합니다.저의 접근은 전체 길이에 따른 점수를 다 구한 뒤 길이에 맞춰 총 점을 더하는 방식을 선택했습니다.StringTokenizer st = new StringTokenizer(br.readLine(), "134567890");StringTokenizer을 통해 ..
2024.06.09기준 - 브론즈2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 컴퓨터가 감염되지 않는 수를 출력하는 문제입니다.이 문제의 조건은1 x가 들어오면 x번째 컴퓨터가 감염됩니다.2 x가 들어오면 x번째 컴퓨터가 치료됩니다.3 이 들어오면 감염되지 않은 컴퓨터 수를 출력합니다.이 문제에 접근할때 boolean[]을 이용해 컴퓨터 감염 여부를 for문을 사용해서 개수를 세어 주었는데 시간초과가 나와 변경을 변경했습니다. switch를 이용해 입력된 번호가 무엇인지 확인했습니다.1이 들어오면 컴퓨터를 감염시키면서 감염이 안되어 있던 컴퓨터면 전체 count를 -1 했습니다.2가 들어오면 컴퓨터를 치료시키면서 감염이 되어 있던 컴퓨터면 전체 count를 +1 했습니다.3이 들어오..
2024.06.19기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 제시된 조건으로 몇 초 안에 주어진 문장을 만들 수 있는지 계산하는 문제입니다. 이 문제의 조건은 2가지 있습니다.알파벳 소문자 a부터 z 중에서 민우가 원하는 알파벳을 하나 골라서 지금까지 입력한 내용의 맨 뒤에 입력한다.지금까지 입력한 문자열의 연속된 부분 문자열을 복사 후 입력한 내용의 맨 뒤에 붙여 넣는다. 저의 접근 방식은1. 일단 처음 daldidalgo를 입력하는데 사용하는 시간을 계산했습니다.daldi 까지는 복사를 하든 안하든 동일하게 5초가 흐르게 됩니다.그 다음 dal을 할때에는 이미 dal를 입력한 이력이 있기 때문에 복사를 해서 사용합니다.그렇게 첫 daldidalgo를 입력할 때에는 ..