본문 바로가기
1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 D3 어떤 국가에서는 자국 내 방송국에서 스파이가 활동하는 사실을 알아냈다. 스파이는 영상물에 암호 코드를 삽입하여 송출하고 있었는데, 스파이의 암호 코드에 다음과 같은 규칙이 있음을 발견했다.1. 암호코드는 8개의 숫자로 이루어져 있다.2. 암호코드에서의 숫자 하나는 7개의 비트로 암호화되어 주어진다. 따라서 암호코드의 가로 길이는 56이다.   ※ 길이가 56가 아닌 코드는 주어지지 않는다. 주어진 암호코드는 주어진 규칙대로 해독할 수 있음을 보장한다.      암호코드의 각 숫자가 암호화되는 규칙은 주어진 그림1을 참고하라.3. 올바른 암호코드는 (홀수 자리의 합 x 3) + (짝수 자리의 합)이 10의 배수가 되어야 한다.    ex) 암호코드가 88012346일 경우,    ( ( 8 + 0 + 2 .. 2024. 10. 26.
실라버스 해체분석기 실라버스는 고봉밥이기에.. 임의로 요약했습니다마치 비문학 지문 같은 • 1.1장 sw 테스팅 - 결함 식별, sw 산출물 품질 평가sdlc - sw 개발수명주기 verification - sw가 명세( 법률, 규제등)와 기술 요구사항을 충족시키는지validation - 사용자의 요구사항을 충족시키는지  동적 테스팅 - sw를 실제로 실행 하고 분석정적 테스팅 - sw를 실행하지 않고 리뷰하고 정적으로 분석, tc를 도출하기 위해 여러 기법과 접근법을 사용 - 테스트 목적작업 산출물 평가장애 및 결함 식별테스트 대상 커버리지 보장베리피케이션, 밸리데이션 - 테스팅과 디버깅테스팅은 sw 결함으로 인한 장애를 유발(동적 테스팅)하거나 결함을 직접 식별(정적 테스팅) - 동적 테스팅 중 디버깅동적 테스팅 과정 .. 2024. 10. 23.
벡터에서 최소/최대값 인덱스를 가져오려면? min,max 메서드로 최대,최소 값 구하는건 많이 햇으니 max_element나 min_element로 해당 값의 iterator를 가져오고 - begin을 해주면 해당 인덱스를 가져온다 int max_idx = max_element(arr.begin(), arr.end()) - arr.begin(); int min_idx = min_element(arr.begin(), arr.end()) - arr.begin(); 값을 출력하려면 *max_element(arr.begin(), arr.end()) 형태로 값을 가져오거나  int a = arr[max_element(arr.begin(), arr.end()) - arr.begin()]; in.. 2024. 10. 15.
1208. [S/W 문제해결 기본] 1일차 - Flatten D3 한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오.  가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다.위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다.  A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방하다.다음은 제2회 덤프를 수행한 이후의 화면이다.  A’부분의 상자를.. 2024. 10. 15.
1244. swea 최대 상금 D3 퀴즈 대회에 참가해서 우승을 하게 되면 보너스 상금을 획득할 수 있는 기회를 부여받는다.우승자는 주어진 숫자판들 중에 두 개를 선택에서 정해진 횟수만큼 서로의 자리를 위치를 교환할 수 있다.예를 들어, 다음 그림과 3, 2, 8, 8, 8 의 5개의 숫자판들이 주어지고 교환 횟수는 2회라고 하자.교환전>처음에는 첫번째 숫자판의 3과 네 번째 숫자판의 8을 교환해서 8, 2, 8, 3, 8이 되었다. 다음으로, 두 번째 숫자판 2와 마지막에 있는 8을 교환해서 8, 8, 8, 3, 2이 되었다.정해진 횟수만큼 교환이 끝나면 숫자판의 위치에 부여된 가중치에 의해 상금이 계산된다.숫자판의 오른쪽 끝에서부터 1원이고 왼쪽으로 한자리씩 갈수록 10의 배수만큼 커진다.위의 예에서와 같이 최종적으로 숫자판들이 8,8.. 2024. 10. 14.
1206. [S/W 문제해결 기본] 1일차 - View D3 강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다.이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다.그래서 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다.빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오. 아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 따라서 답은 6이 된다.A와 B로 표시된 세대의 경우는 왼쪽 조망은 2칸 이상 확보가 되었지만 오른쪽 조망은 한 칸 밖에 확보가 되지 .. 2024. 10. 14.
1983. 조교의 성적 매기기 D2 학기가 끝나고, 학생들의 점수로 학점을 계산중이다.학점은 상대평가로 주어지는데, 총 10개의 평점이 있다.학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다.각각 아래 비율로 반영된다.10 개의 평점을 총점이 높은 순서대로 부여하는데,각각의 평점은 같은 비율로 부여할 수 있다.예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다.입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고,학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때,K 번째 학생의 학점을 출력하는 프로그램을 작성하라.[제약사항]1. N은 항상 10의 배수이며, 10이상 100이하의 정수이다. (10 ≤ N ≤ 100)2. K는 1 이상 N 이하의 정수이다. (1 ≤ K.. 2024. 10. 12.
1288. 새로운 불면증 치료법 D2 호석이는 불면증에 걸렸다. 그래서 잠이 안 올 때의 민간요법 중 하나인 양 세기를 하려고 한다.호석이는 1번 양부터 순서대로 세는 것이 재미없을 것 같아서 N의 배수 번호인 양을 세기로 하였다.즉, 첫 번째에는 N번 양을 세고, 두 번째에는 2N번 양, … , k번째에는 kN번 양을 센다.이렇게 숫자를 세던 호석이에게 잠은 더 오지 않고 다음과 같은 궁금증이 생겼다.이전에 셌던 번호들의 각 자리수에서 0에서 9까지의 모든 숫자를 보는 것은 최소 몇 번 양을 센 시점일까?예를 들어 N = 1295이라고 하자.첫 번째로 N = 1295번 양을 센다. 현재 본 숫자는 1, 2, 5, 9이다.두 번째로 2N = 2590번 양을 센다. 현재 본 숫자는 0, 2, 5, 9이다.현재까지 본 숫자는 0, 1, 2, 5.. 2024. 10. 12.
소수점 n 자리에서 반올림, 올림 , 내림 (D2 1984. 중간 평균값 구하기 ) double 형 자료형으로 ceil - 올림floor - 내림 • 반올림round 메서드를 사용하면 소수 첫째 자리에서 반올림한다근데 소수 3째나 4째에서 하고 싶으면?double res = 123.456789;double rounded = round(res * 1000) / 1000.0; 이런 방식으로 하면 소수 3째자리에서 반올림한 걸 구할 수 있다나눌때 / 10 형태가 아닌 / 10.0을 해줘야 되는걸 기억해두자 #include #include #include #include #include using namespace std;int main () { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int test_case; cin >>.. 2024. 10. 12.
SWEA D2 1959. 두 개의 숫자열 N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다.아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다.Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다.단, 더 긴 쪽의 양끝을 벗어나서는 안 된다. 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라.위 예제의 정답은 아래와 같이 30 이 된다. [제약 사항]N 과 M은 3 이상 20 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고,두 번째 줄에는 Ai,세 번째 줄에는 Bj 가 주어진다.[출력]출력의 각 줄은 '#t'로 시작하고.. 2024. 10. 12.
SWEA D2 1961. 숫자 배열 회전 N x N 행렬이 주어질 때,시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라.[제약 사항]N은 3 이상 7 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N이 주어지고,다음 N 줄에는 N x N 행렬이 주어진다.[출력]출력의 첫 줄은 '#t'로 시작하고,다음 N줄에 걸쳐서 90도, 180도, 270도 회전한 모양을 출력한다.입력과는 달리 출력에서는 회전한 모양 사이에만 공백이 존재함에 유의하라.(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)입력1031 2 34 5 67 8 966 9 4 7 0 58 9 9 2 6 56 8 5 4 9 82 2 7 7 8 47 5 1 9 7 98 9 .. 2024. 10. 11.
SWEA D2 2005 파스칼의 삼각형 크기가 N인 파스칼의 삼각형을 만들어야 한다.파스칼의 삼각형이란 아래와 같은 규칙을 따른다.1. 첫 번째 줄은 항상 숫자 1이다.2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.[제약 사항]파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스에는 N이 주어진다.[출력]각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다.삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들 사이에는 한 칸의 빈칸을 출력.. 2024. 10. 11.
SWEA D2 2001 파리퇴치 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.comN x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다.아래는 N=5 의 예이다. M x M 크기의 파리채를 한 번 .. 2024. 10. 10.
SWEA D2 1926 간단한 369 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 1 2 - 4 5 - 7 8 -  형태로 369를 -로 치환해서 출력하는 문제33은 --, 333은 --- 이 된다#include #.. 2024. 10. 10.
SWEA D2 1954 달팽이 숫자 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1&&&&&&&&&& SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다.다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 .. 2024. 10. 10.
프로그램 배포 비주얼 스튜디오를 release 모드로 바꿔주고 프로젝트를 다시 빌드한다프로젝트 폴더에서 확인하면 bin - release 폴더에 있는 파일로 배포하면 된다 닷넷 프레임워크로 제작한 프로그램이기에 닷넷 버전, 윈도우 운영체제에서만 실행 가능하다 2024. 10. 6.
저장프로시저 기존 crud에서 insert 구문을 프로시저를 이용해서 저장이 가능하게 변경하자 저장 프로시저를 추가하기 위해mssql을 켜서 db - 프로그래밍 기능 - 저장 프로시저 - 새 저장 프로시저를 생성한다 상단에 저자, 생성일, 내용등을 적어주고사용할 변수들을 @붙여서 정의begin 구문 안에 프로시저로 호출할 쿼리문을 작성한다SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: hoshi03-- Create date: 2024.10.06-- Description: -- =============================================CREATE PROCED.. 2024. 10. 6.
데이터베이스 연동 code first 방식 cs 파일에 작성한 코드를 기반으로 데이터베이스를 작성하고 연동해보자 Service 프로젝트에 Data 폴더를 추가하고nuget 패키지에서 엔티티코어와 sql서버를 설치, 닷넷 sdk가 5버전이라 둘다 5버전으로 설치했다  • db 연동 sql 서버를 실행해서 localhost, 원도우 인증으로 시작한다 새 데이터베이스 만들기로 하고 CodeFirstDB를 생성로그인 쪽에도 test라는 이름으로 CodeFirstDB를 사용할 사용자를 만들어주었다 test 1111으로 생성 appsettings.json에 db 접속 가능하게 사용자를 추가해주었다{ //db 접속 //DB접속정보 "ConnectionStrings": { "DefaultConnection": "Server=localhost;Data.. 2024. 10. 6.
DI 클래스 라이브러리로 data, service 등의 로직을 분리할 클래스를 만들고해당 클래스끼리 솔루션 탐색기에서 필요한 인터페이스와 참조성을 추가해준다 기존에는 mvc 프로젝트 안에서 model, view, controller를 모두 가지고 잇는 형태에서 데이터 프로젝트서비스 프로젝트웹 프로젝트 3개의 클래스로 분화시켰고 데이터 프로젝트에 데이터모델 폴더-user, 뷰 모델 폴더-로그인 정보서비스 프로젝트에 인터페이스 폴더 - 유저 정보 체크 인터페이스를 작성, 서비스 폴더 - 유저서비스에서 로그인 체크웹 프로젝트의  컨트롤러에서는 바뀐 인터페이스와 로그인 데이터 모델을 참조해서 사용하게 바꿨다 웹 프로젝트에 뷰에서는 기존에는 모델을 바로 가져왓으나 구조를 위처럼 바꿧기에 cshtml에@using MVC.. 2024. 10. 5.
MVC 프로젝트 시작하기 프로젝트 생성할때 ASP.NET Core Web App (Model-View-Controller)로 시작 멤버쉽컨트롤러 추가후 멤버쉽 컨트롤러 cs 파일 부분에 우클릭 후 뷰 추가,  뷰는 shared 폴더 아래의_Layout.cshtml로 추가하기 • 모델 로그인에 필요한 id, pw의 게터, 세터, 최소 글자수, 에러메시지, 뷰에 보여줄 이름을 정의namespace MVC.Models{ public class LoginInfo { [Display(Name = "id")] [Required(ErrorMessage = "id 입력")] [MinLength(4, ErrorMessage ="4자리 이상")] public string userID { get; set;} [Display(Name = ".. 2024. 10. 5.