자료구조 다항식의 덧셈을 자바로 바꾸는 문제. delTerm 같은 함수들 활용법

조회수 374회
import java.io.*;
import java.util.Scanner;

class Polynomial {
  private int[][] term;
  private int curNoTerm = 0;

  /*
   * 우선 term이 2차원 배열이긴 하네요.noTerm이 행을, 2가 열의 개수가 됩니다. 
   * 그런데 여기서 밑에 coef는 계수, exp는 지수에 해당합니다. 
   * 결국에는 이 지수와 계수 정보를 통해 덧셈을 할 것으로 보이는데요.
   */

    // @param noTerm 항의 개수
  public Polynomial(int noTerm) {
    term = new int[noTerm][2];
  }

    public Polynomial() {
    this(20);  // default로 최대 20개의 항을 저장함
  }

  /**
   * @param coef 계수
   * @param exp 지수
   */
  public void addTerm(int coef, int exp) {
    term[curNoTerm][0] = exp;      //
    term[curNoTerm][1] = coef;
    curNoTerm++;
  }

  // @param exp
  // 작성하시오
  public void delTerm(int exp) {
    /*
     * 그런데 여기 부분이 delTerm이 지수부분을 이용해서 뭘 삭제한다는데요, 
     * 교안에 따르면 계산이 끝나면 p1,p2에 있는 부분을 지우고 p3에 모두 복사해 놓으려고 하는 것으로 보이는데 
     * 어떻게 이 부분을 활용할지 모르겠습니다. 맨 밑에 polynomial p3가 있긴 있습니다.
     */
  }

  /**
   * 출력할 때 사용
   * @return 객체를 문자열로 반환 (예: 3x^15+2x^3+4x^2+x+5 )
   * 작성하시오.
   */
  public String toString() {
    return null;

    }

  /**
   * 두 개의 다항식을 더한다.
   * @param p1 첫번째 다항식
   * @param p2 두번째 다항식
   * @return 두 개의 다항식을 더한 결과
   * 작성할 것 
   */
  public static Polynomial polyAdd(Polynomial p1, Polynomial p2) {
    // p1과 p2가 같은차수일 경우 계수를 더한다.
    return null;
  }
}
class Main {

  public static void main(String[] args) throws Exception {
    Scanner s = new Scanner(System.in);

    // 첫번째 다항식 입력
    Polynomial p1 = new Polynomial();
    int no = s.nextInt();

    for (int i = 0; i < noTerm; i++) {
      int coef = scan.nextInt();
      int exp  = scan.nextInt();
      p1.addTerm(coef, exp);
    }

    Polynomial p2 = new Polynomial();
    // 두번째 다항식 입력 코드 여기에 작성할 것
    for (int i = 0; i < noTerm; i++) {
      int coef = s.nextInt();
      int exp  = s.nextInt();
      p2.addTerm(coef, exp);
    }

    /*
     * 우선 여기서 p1과 p2가 coef, exp를 입력받아 위의 2차원 배열형태로 저장됩니다. 
     * 그런데 이 배열들을 프린트 하려면 어떻게 하면 되나요. 
     * System.out.print(p2.addTerm(coef,exp)) 를 쓰면 되나요?
     */

    // 두개의 다항식 덧셈
    Polynomial p3 = Polynomial.polyAdd(p1, p2);

    System.out.print(p3);  // 이것은 System.out.print(p3.toString())과 동일
  }
}

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)