Java/BackJoon 4

[Bac|<joon>] 백준 1712 : 손익분기점 / 사용자입장 , 관건은 처리시간!

이 코드를 보고 처음에 실수한 두가지가 있는데, 이 두가지에 유의하면서 코드를 짜보겠다. 자, 우리가 구해야 할것은 무엇인가? 바로 손익분기점이 넘어가는 시점의 판매량을 구하는것이다. 간단하게 손익분기점 구하는식을 들여다보자 손익분기점 구하는 식 A(고정비용)+B(가변비용) * i = C(판매가) * i --> 이때의 i가 바로 우리가 구하는 값이다. 이때 좌변을 변수 X로 우변을 Y로 설정하여 " if(X

Java/BackJoon 2021.04.27

[Bac|<joon>] 백준 : 2839 : 설탕배달

이 문제를 맞닥뜨리면 가장 먼저 하는 착각이 있다. 본인은 봉지의 최소 개수만을 생각한 탓에 놓친 것이 있는데 이 문제는 수학 문제이기도 하지만 가장 중요한 목적은 가능하다면 5kg와 3kg를 이용해서 배달을 하는 게 목적이다. 예를 들어서 19kg이라면 5kg 두 개 3kg세개를 해서라도 배달을 해야 하는데 우리의 목표인 것 1) 설탕의 무게 N (Scanner로 입력받는다.) 2) for문의 구조 유의해야 할 점은 정확하게 N킬로그램을 만들 수 있다면, 5kg을 최대한 많이 만들어야 한다. 3kg는 최소로 만들어야 한다. 따라서 바깥 for문의 변수를 i로, 안쪽 for문을 j로 설정하여 조건식 "설탕의 무게=(5*j + 3*i)"를 만족하는 제일 처음의 (i, j) 조합을 구하여 서로 더하면 그게 ..

Java/BackJoon 2021.04.27

[Bac|<joon>] 백준 :1152 : 단어의 갯수 (StringTokenizer)

이 문제를 본순간 공백을 이용한 형변환 for문 if문등이 떠올랐고 코드도 쉽게 완성했다. 쉬운데 왜 정답률이 낮을까 생각했는데.. 결정적으로 해결할 수 없던 문제가 있다. 바로 '공백'만 입력되었을때, 이를 걸러내기가 힘들다는것 걸러내기위한 코드를 작성한다쳐도 코드가 이뻐지지않는게 딜레마였다. 그치만 몇몇 클래스를 이용하면 굉장히 간단하게, 이쁘게 단어갯수를 셀 수 있는 코드를 짤 수 있었던것이다. 1) StringTokenizer - 입력 Scanner StringTokenizer class 사용법 StringTokenizer sc = new StringTokenizer("abc def ghi"," "); System.out.println(sc.countTokens()); 실행결과 : 3 (문자의 개..

Java/BackJoon 2021.04.23

[Bac|<joon>]백준 : 4344 :평균은 넘겠지

예제를 보는 순간 바로 배열을 사용하자는 생각이 떠올랐지만, 무식하게 2차 배열을 쓸 생각으로 코드를 짜다 보니 예제는 풀었지만 입력값을 줘야 하는 걸 까먹었다. (2차 배열을 이용한 예제 출력은 Daily-Java에 업로드 예정) 출력을 보면 우리는 대학생 새내기들이 속한 행에서 평균점수를 넘는 학생의 수치만 출력하면 된다. 배열에 모든 숫자를 넣어 관리하면서 예제를 출력하는 방식이 아니라 그때그때 필요한 행의 점수를 입력해서 원하는 값을 출력 후 초기화하여 배열을 재사용하는 코드를 짜 보도록 하자 1) testcase 학생들의 평균점수를 넘은 수치를 구하는 건 testcase 만큼 실행한다. 즉 testcase는 총 실행 횟수 첫 번째 for문의 변수 2) 학생수 N 각 testcase마다의 학생수 ..

Java/BackJoon 2021.04.21