* 코딩도장이라는 사이트에서 Level 1짜리 문제풀이를 진행했다.
* 코딩도장 사이트 : https://codingdojang.com/
1.
10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000미만의 자연수에서 3,5의 배수의 총합을 구하라.
package aloneSolvingExample;
public class Multiples_of_3_or_5 {
public static void main(String[] args) {
// 1000 아래의 3과 5의 배수의 합을 구하시오.
int sum = 0;
for (int i = 1; i < 1000; i++) {
if (i%3 == 0 || i%5 == 0) {
sum += i;
}
}
System.out.println("3과 5의 배수 합 : " + sum);
// 답 : 233,168
}
}
2.
A씨는 개발된 소스코드를 특정업체에 납품하려고 한다. 개발된 소스코드들은 탭으로 들여쓰기가 된것, 공백으로 들여쓰기가 된 것들이 섞여 있다고 한다. A씨는 탭으로 들여쓰기가 된 모든 소스를 공백 4개로 수정한 후 납품할 예정이다.
A씨를 도와줄 수 있도록 소스코드내에 사용된 탭(Tab) 문자를 공백 4개(4 space)로 바꾸어 주는 프로그램을 작성하시오.
package aloneSolvingExample;
public class replace_tab_to_blank {
public static void main(String[] args) {
// 예시를 가져와보자
String str = "int sum = 0;\r\n"
+ " for (int i = 1; i < 1000; i++) {\r\n"
+ " if (i%3 == 0 || i%5 == 0) {\r\n"
+ " sum += i;\r\n"
+ " }\r\n"
+ " }";
System.out.println(str.replace("\t", " "));
}
}
이건 솔직히 잘 한건지 잘 모르겠다..
3.
A씨는 게시판 프로그램을 작성하고 있다.
A씨는 게시물의 총 건수와 한 페이지에 보여줄 게시물수를 입력으로 주었을 때 총 페이지수를 리턴하는 프로그램이 필요하다고 한다.
입력 : 총건수(m), 한페이지에 보여줄 게시물수(n) (단 n은 1보다 크거나 같다. n >= 1)
출력 : 총페이지수
A씨가 필요한 프로그램을 작성하시오.
package aloneSolvingExample;
public class counting_page_number {
public static void main(String[] args) {
int m = 74896; //총 게시물 건수
int n = 13; //한 페이지 게시물 수
int quotient = m/n;
int remainder = m%n;
int quotientPlusOne = quotient + 1;
System.out.println("총 게시물 수는 " + m + "입니다.");
System.out.println("한 페이지의 게시물 수는 " + n + "입니다.");
if (remainder == 0) {
System.out.println("총 페이지 수는 " + quotient + "입니다.");
} else {
System.out.println("총 페이지 수는 " + quotientPlusOne + "입니다.");
}
// 총 게시물 수는 74896입니다.
// 한 페이지의 게시물 수는 13입니다.
// 총 페이지 수는 5762입니다.
}
}
4. 그리고 대망의 문제.....
주어진 문자열(공백 없이 쉼표로 구분되어 있음)을 가지고 아래 문제에 대한 프로그램을 작성하세요.
이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌
- 김씨와 이씨는 각각 몇 명 인가요?
- "이재영"이란 이름이 몇 번 반복되나요?
- 중복을 제거한 이름을 출력하세요.
- 중복을 제거한 이름을 오름차순으로 정렬하여 출력하세요.
1번 문제에만 한 시간 이상 쏟았는데 결국 실패했다. 논리는 맞는 것 같은데 도대체 어디서 문제가 생기는건지 알 수 없다. (파워구글링 했으나 뭘 검색해야할지도 몰라서 결국 실패. 멘탈 붕괴)
package aloneSolvingExample;
public class array_example {
public static void main(String[] args) {
String[] name = {"이유덕", "이재영", "권종표", "이재영", "박민호", "강상희", "이재영", "김지완", "최승혁", "이성연", "박영서", "박민호", "전경헌", "송정환", "김재성", "이유덕", "전경헌"};
// 1. 김씨와 이씨는 각각 몇 명인가?
int sum = 0;
for (int i = 0; i < name.length; i++) {
String lastname = name[i];
String j = lastname.substring(0, 1);
if (j == "이" || j == "김") {
sum += 1;
}
}
System.out.println(sum);
}
}
아무리 봐도 맞는거 같은데 ㅠㅠㅠㅠㅠㅠ 아래는 디버깅 결과인데 if 안으로 들어가질 않는다.....
substring()의 기능이 String이 아닌건지, 뭔지... 도대체 모르겠음. 오늘은 여기까지. 머리가 너무 아프다..
'JAVA' 카테고리의 다른 글
JAVA 문법 : 다형성(Polymorphism) (0) | 2021.09.15 |
---|---|
JAVA 문법 : 클래스와 객체 (0) | 2021.09.15 |
Java로 복리 계산기 만들기 (0) | 2021.08.06 |
2021. 08. 04. JAVA 객체지향과 리펙토링 실습 (0) | 2021.08.04 |
2021. 08. 02 오늘 공부한 것(JAVA) (0) | 2021.08.02 |