Java 144

[Backend]Eclipse에서 동적 웹 프로젝트 및 서블릿 생성하기

동적 웹 프로젝트(Dynamic Web Project)란? 말 그대로 동적인 웹 프로젝트이다. PHP, JSP, ASP, Servlet 등과 같은 파일들을 만드는 프로젝트이다! 그럼 이제 Eclipse에서 어떻게 생성을 하는지 볼게여 Dynamic Web Project 생성 방법 아 맞다 그리고 이거 동적 웹 프로젝트 생성할 때는 Perspective를 Java EE 버전으로 바꾸고 마우스 우클릭을 해야 이 사진처럼 보임!!! 서블릿(Servlet)이란? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 클라이언트가 어떤 요청을 하면 그에 대한 결과를 응답해주어야 하는데, 이런 역할을 하는 자바 프로그램이라고 보면 됨!!! src에는 ja..

[백준]2573번 빙산 - Java

문제 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 풀이 dfs로 풀었음 막 어렵진 않고 차근차근 하면 잘 풀 수 있을 것 같은 그런 느낌적인 느낌 근데 나는 좀 더럽게 푼 것 같다,,, ㅎㅎ 더 쉽고 짧게 풀 수 있는 방법이 있을 것 같음! 개인적인 이 문제의 포인트는 빙산의 인접한 부분에 0이 있다고 그걸 계산하면서 진행하면 현재 칸이 0이 될 경우 다음 칸은 현재 칸의 0이 영향을 미쳐서 인접한 0의 개수가 늘어나기 때문에 인접한 ..

[백준]13458번 시험 감독 - Java

문제 https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 풀이 걍 쉬운 문제라서 풀었는데 자꾸 틀렸다. 그래서 다시 문제를 보니 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) 주어지는 값들의 ..

[백준]8320번 직사각형을 만드는 방법 - Java

문제 https://www.acmicpc.net/problem/8320 8320번: 직사각형을 만드는 방법 상근이는 변의 길이가 1인 정사각형 n개를 가지고 있다. 이 정사각형을 이용해서 만들 수 있는 직사각형의 개수는 총 몇 개일까? 두 직사각형 A와 B가 있을 때, A를 이동, 회전시켜서 B를 만들 수 www.acmicpc.net 풀이 머리로만 풀려고 하다가 좀 헤맨 것 같다 ㅠㅠ 손으로 몇번 끄적이면서 그림 그려보면 쉽게 답을 구할 수 있을 듯???? 코드 // 8320번 직사각형을 만드는 방법 // https://www.acmicpc.net/problem/8320 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException..

[백준]17413번 단어 뒤집기 2 - Java

문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 풀이 어려운 문제는 아닌 듯하다 코드의 아랫부분에 전체 주석처리 되어 있는 코드가 있는데 문제 똑바로 안읽고 그렇게 풀었다가 시간만 날렸다 ㅠㅠㅠ 매번 문제 똑바로 읽어야지 하면서 매번 안그러는 것 같다,,,, 암튼 내 생각에 이 문제의 포인트는 flag를 하나 둬서 그걸로 현재 탐색하는 위치가 태그 안쪽인지 바깥쪽인지를 정해주는 부분이라고 생각한다! 그 부분..

[백준]2798번 블랙잭 - Java

문제 https://www.acmicpc.net/problem/1592 1592번: 영식이와 친구들 예제 1의 경우 일단 1번이 공을 잡는다. 1번은 공을 한 번 잡았기 때문에, 공을 3번에게 던진다. 3번은 공을 한 번 잡았기 때문에, 공을 5번에게 던진다. 5번은 2번에게 던지고, 2번은 4번에게 던진다 www.acmicpc.net 풀이 얘도 쉬운 문제임! 그냥 완전 탐색으로 첨부터 싹 돌려주면 됨! 그나마 주의할 점은 3중 for문 안에서 인덱싱에 주의해야 된다는 점?? 코드 // 2798번 블랙잭 // https://www.acmicpc.net/problem/2798 package BAEKJOON; import java.io.BufferedReader; import java.io.IOExcepti..

[백준]1592번 영식이와 친구들 - Java

문제 https://www.acmicpc.net/problem/1592 1592번: 영식이와 친구들 예제 1의 경우 일단 1번이 공을 잡는다. 1번은 공을 한 번 잡았기 때문에, 공을 3번에게 던진다. 3번은 공을 한 번 잡았기 때문에, 공을 5번에게 던진다. 5번은 2번에게 던지고, 2번은 4번에게 던진다 www.acmicpc.net 풀이 쉬운 문제임! 공을 다음 사람에게 전달할 때 인덱스 처리를 해주는 거만 쉽게 하면 정말 쉬운 문제인 것 같다! 다만 M이 1인 경우에는 게임이 시작하자마자 끝날 수 있으니까 그것만 주의해서 풀면 될듯?? 자세한 설명은 주석을 참고하면 됨 코드 // 1592번 영식이와 친구들 // https://www.acmicpc.net/problem/1592 package BAEK..

[백준]2567번 색종이-2 - Java

문제 https://www.acmicpc.net/problem/2567 2567번: 색종이 - 2 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 풀이 몇번 풀어봤던 유형의 색종이 문제라 처음 읽었을 때는 한 5분이면 풀 수 있을 줄 알았다. 이전의 색종이 문제들은 내 블로그에도 두세문제 있으니까 찾아보면 될 듯???? 근데 얘는 걔네들보다는 쪼오오오오끔 더 생각을 해야된다. 넓이를 구하는게 아니라 둘레를 구하는 것이기 때문. 우선 색종이를 붙인 칸이면 1로 싹 바꿔주고, 바꾼 후에 배열 한 칸마다 탐색을 한다. 탐색을 하면서 1인 칸은 ..

[백준]2941번 크로아티아 알파벳 - Java

문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이 그냥 케이스 나누고 인덱싱에 주의하면서 풀었음! 근데 같이 스터디하는 친구가 다른 방법으로 잘 풀어서 그것도 코드에 추가해 놓아야겠음 ㅎㅎㅎ 첫번째가 내가 그냥 푼 코드고 두번째가 새로 알게된 방식! 문자열을 다룰 때는 이처럼 내장 함수를 쓰면 많이 편하니까 평소에 자주 쓰는 버릇을 들여놔야겠다 이 코드에서는 String.contains()랑 Str..

[SWExpertAcademy]7272번 안경이 없어! - Java

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWl0ZQ8qn7UDFAXz SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 문자열의 길이가 다르면 DIFF, 같은 경우에만 비교해서 같으면 SAME 출력 근데 첫번째 코드로는 왜인지 모르겠으나 통과가 되지 않았다. 그래서 두번째 코드로 했더니 통과가 됐다. 아직도 왜그런지 모르겠다 ㅠ 혹시 보다가 알게되면 알려주세용 코드 // 7272 - 안경이 없어! package d3; import java.io.BufferedReader; import java.io.IOE..

[SWExpertAcademy]1860번 진기의 최고급 붕어빵 - Java

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LsaaqDzYDFAXc# SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 for문 안에서 시간 i가 1초씩 증가한다고 생각하고 풀었음 쉬운 문제라서 구현을 하고 돌려보았을때 주어진 테스트케이스들은 정답이었지만 제출하니까 1000개 테케 중 993개만 맞았다고 해서 다시 코드를 뜯어봤음 ㅠㅠ 0초에도 손님이 올 수도 있다는 것을 생각지 못하고 시간을 1초부터 시작을 해줘서 그 부분을 고쳐줬음 그런데도 통과가 되지 않아서 알고보니까 i % current == 0..

[백준]2564번 경비원 - Java

문제 https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 풀이 단순하게 케이스를 나눠서 계산을 해주면 되는 문제임! 동서남북 나눠서 계산을 했음 자세한건 주석으로 코드 // 2564번 경비원 // https://www.acmicpc.net/problem/2564 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReade..

[백준]1417번 국회의원 선거 - Java

문제 https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 풀이 쉬운 문제임 for문을 돌면서 후보자들 중 가장 많은 표를 가지고 있는 후보자를 찾고 그 표가 다솜이의 표보다 많다면 그 후보자의 표를 -1 해주고 다솜이의 표를 +1 해준다. while(true){ ] 안에서 다솜이의 표가 다른 후보자들의 표보다 많아질 때까지 정답에 해당하는 로직을 반복하면 된다. 진짜 이게 끝임! 코드 // 1417번 국회의원 선거 // https://w..

[백준]2468번 안전 영역 - Java

문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 풀이 많이 풀어본 듯한 유형의 문제??? visited[][] 배열을 만들어서 방문한 곳을 체킹하면서 풀 수도 있겠지만 나는 탐색하고 있는 tempMap의 값을 직접 스지않는 값(코드 에서는 -1)으로 바꿔주고 그거를 방문했다는 표시로 봤음! 강수량을 증가시킬 때마다 사방탐색을 하면서 DFS를 돌려주고 그렇게 해서 나온 값들 중 가장 큰 값을 정답으로 출력해줬다. solution() 함수 안에서는 ..

[백준]2840번 행운의 바퀴 - Java

문제 https://www.acmicpc.net/problem/2840 2840번: 행운의 바퀴 첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓 www.acmicpc.net 풀이 또 문제를 잘 읽지 않아서 시간을 버렸다,,, 문제 초반에 분명하게 '바퀴에 같은 글자는 두 번 이상 등장하지 않는다.' 라고 써있는데도 안 읽고 풀었다가 헤맸다 ㅠㅠ ArrayList를 큐처럼 사용하여 풀었다 자세한건 주석으로! 코드 // 2840번 행운의 바퀴 // https://www.acmicpc.net/problem/2840 package BAEKJOON; import java.io..

[백준]1244번 스위치 켜고 끄기 - Java

문제 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 풀이 문제에 맞게 잘 따라가면 됨 남학생 부분은 % 연산으로 쉽게 해결 가능 여학생의 경우 for문 안에서 가운데 부터 왼쪽 + 오른쪽으로 하나씩 인덱스를 이동하면서 비교 후 연산을 해줌 코드 // 1244번 스위치 켜고 끄기 // https://www.acmicpc.net/problem/1244 package BAEKJOON; import java.io.BufferedReader; i..

[백준]3085번 사탕 게임 - Java

문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 풀이 완전완전탐색으로 풀었음 2차원 배열을 하나하나씩 돌면서 4방으로 탐색해줌 인접한 사탕이 같은 종류면 다음 방향으로 넘어가고, 다른 종류면 스왑한 다음 solution() 함수를 실행하여 연속한 사탕의 최대 개수 max를 최신화함 내 생각에 여기서 포인트는 인접한 다른 종류의 사탕끼리 바꿨으면 solution() 함수를 실행해서 max를 최신화한 후, 바꿨던 사탕을 다시 원래대로 바꿔주어야 하고, solution() 함수 안에서는 큰 for문 안에서 행검사와 열검사를 같이 해주면 시간복잡도를 조금이나마 줄..

[백준]2578번 빙고 - Java

문제 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 풀이 for문 안에서 인덱싱에 주의하면서 각 행마다, 각 열마다, 대각선 2개까지 빙고를 체크해주면 됨 주의할 점은 사회자가 부르는 수로 인해서 한번에 빙고가 2개가 생기는 경우가 있을 수도 있기 때문에 마지막에 bingoCount == 3 이 아닌 bingoCount >= 3 으로 해줘야함! 코드 // 2578번 빙고 // https://www.acmicpc.net/problem/2578 package ..

[백준]10431번 줄세우기 - Java

문제 https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net 풀이 문제 잘 읽고 구현하면 됨! 아마 ArrayList나 List 등을 이용하여 많이들 구현할 것 같은데 그렇게 할 경우 애들을 줄 세울 때 어디에 세워야하는지가 조금 헷갈릴 수도 있으니 주의할 것! 자세한건 주석에 있음 코드 // 10431번 줄세우기 // https://www.acmicpc.net/problem/10431 package BAEKJOON; import java.io.Buffer..

[백준]1091번 카드 섞기 - Java

문제 https://www.acmicpc.net/problem/1091 1091번: 카드 섞기 지민이는 카지노의 딜러이고, 지금 3명의 플레이어(0, 1, 2)가 있다. 이 게임은 N개의 카드를 이용한다. (0 ~ N-1번) 일단 지민이는 카드를 몇 번 섞은 다음에, 그것을 플레이어들에게 나누어 준다. 0 www.acmicpc.net 풀이 문제를 처음 읽었을 때는 뭔소린지 모르겠었는데 몇번 더 읽다보니까 이해를 했음 문제에서 주어진 순서대로 카드를 섞고 섞을 때마다 정답과 비교해서 정답과 같은 순서로 카드가 섞였다면 그때의 count를 출력하면 됨 내 생각에 포인트는 언제 -1을 출력해야 되냐 인 듯??? 계속해서 섞다가 한번도 섞지 않았을 때(초기 상태)와 같은 순서로 카드가 나왔을 경우를 생각해보면,..